😒 저 저 저 개념없는 나/📚 Database

[DB] VALUE IN vs IN

우주수첩 2024. 4. 15. 23:03
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