728x90
데이터 베이스 DDL을 다시 공부하는 중에 의문이 생겼따.
Domain 정의시에 IN 함수를 사용할 때가 있다.
Table 정의 시에도 IN 함수를 사용할 때가 있다.
Domain을 정의 시 IN 함수를 사용할 때의 예시는
CREATE DOMAIN 직위 VARCHAR(10)
DEFAULT '사원'
CONSTRAINT VALID-직위( VALUE IN '사원','대리','과장','부장','이사','사장')
요정도.
Table 정의 시 IN 함수를 사용할 때 예시는
CREATE TABLE 사원
(직원 코드 NUMBER NOT NULL,
성명 CHAR(10) UNIQUE,
직책 CHAR(10) CHECK (직책 IN('사원','대리','과장','팀장'),
연봉 NUMBER);
요정도.
지금까지 아무 생각 없었는데 공부하다 보니
저 "VALUE IN"이라는 칭구가 상당히 신경쓰인다.
왜 저 어메이징한 value 라는 아이가 붙는 것인가.
그것도 도메인에만.
차이를 찾아보아따.
VALUE vs IN
- VALUE : 필드를 적을 수 없거나 생략될 수 있을 때 사용한다.
- IN : 단순히 필드에 들어가는 값을 나열하기 위해 사용된다.
Create Domain에서 제약조건을 걸 때
- 위의 예시코드와 같이 "VALUE IN"을 사용한다.
- 이유인 즉슨 DOMAIN에는 필드 명이 존재하지 않기 때문이다.
Create Table에서 제약조건을 걸 때
- 위의 예시코드와 같이 그냥 "IN"을 사용한다.
- 여러 필드명이 존재하는 테이블에서 해당 필드를 특정해야 하기 때문이다.
와웅
출처 : 여기 댓글 https://youtu.be/bhNsnLRWCG0?si=TEcoegbK9NdMro1U
728x90