최보름달

[SQL] 제약조건 CONSTRAINT, NULL, DEFAULT 본문

문송한 회사생활/SQL 공부

[SQL] 제약조건 CONSTRAINT, NULL, DEFAULT

PieMoon 2020. 7. 22. 21:40

제약조건 CONSTRAINT

제약조건이란, 사용자가 원하는 조건의 데이터만 유지하기 위한... 데이터 무결성을 유지하기 위한 보편적인 방법으로, 테이블의 특정 컬럼에 설정하는 제약이다.

테이블을 생성할 때 반드시 제약조건을 기술할 필요는 없지만, 나중에 ALTER TABLE 하려면 수고스러우니 처음부터 제약조건을 검토하는게 좋다.

 

 

제약조건의 종류

PRIMARY KEY (기본키) : 하나의 테이블에 하나만 정의할 수 있다. NULL을 허용하지 않는다. 기본키=고유키&NOT NULL

UNIQUE KEY (고유키) : 데이터를 고유하게 식별하기 위한 키. NULL이 있어도 된다. 

NOT NULL : NULL 값의 입력을 금지한다. 

CHECK : 입력할 수 있는 값의 범위를 제한한다. TRUE, FALSE 로 평가할 수 있는 논리식을 지정한다. 

FOREIGN KEY (외래키) : 테이블 간 관계를 정의하기 위해 기본키를 다른 테이블의 외래키로 복사하는 경우 생성된다. 

 

NULL 이란

NULL은 공백이나 숫자0과는 다른 값이다. NULL은 '아직 정의되지 않은 미지의 값' 이거나 '현재 데이터를 입력하지 못하는 경우' 를 의미한다. 

ex) 널널해요~~

 

DEFAULT 란

데이터 입력 시에 컬럼의 값이 지정되지 않은 경우 기본값을 설정할 수 있다. 값을 지정하지 않으면 NULL 값이 입력되고, DEFAULT 값을 정의했다면 해당 컬럼에 NULL이 입력되지 않고 사전에 정의된 기본값이 자동으로 입력된다.

ex) 점심 디폴트는 김치찌개죠~

 

 

 

 

* 한국데이터진흥원에서 출간한 SQL 전문가 가이드 2013 Edition을 요약했습니다