썩구노트
제약조건(CONSTRAINT) 본문
제약조건은 사용자가 원하는 조건의 데이터만 유지하기 위한 특정 컬럼에 설정하는 제약이다.
테이블을 생성할 때 제약조건을 반드시기술할 필요는 없다.
구분 |
설명 |
PRIMARY KEY (기본키) |
- 테이블에 저장된 행 데이터를 고유하게 식별하기 위한 기본키 정의 - 하나의 테이블에 하나의 기본키 제약만 정의할 수 있다. - 기본키 제약을 정의하면 DBMS는 자동으로 UNIQUE 인덱스를 생성하며, 기본키를 구성하는 컬럼에는 NULL을 입력할 수 없다. * PRIMARY KEY = UNIQUE KEY & NOT NULL |
UNIQUE KEY (고유키) |
- 테이블에 저장된 행 데이터를 고유하게 식별하기 위한 고유키를 정의한다 단, NULL은 고유키 제약의 대상이 아니므로, NULL 값을 가진 행이 여러 개가 있더라도 고유키 제약 위반이 되지 않는다. |
NOT NULL |
- NULL 값의 입력을 금지한다. 디폴트 상태에서는 모든 컬럼에서 NULL을 허가하고 있지만, 이 제약을 지정함으로써 해당 컬럼은 입력 필수가 된다. |
CHECK |
- 입력할 수 있는 값의 범위 등을 제한한다. CHECK 제약으로는 TRUE or FALSE로 평가할 수 있는 논리식을 지정한다. |
FOREIGN KEY |
- 관계형 데이터베이스에서 테이블 간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래 키로 복사하는 경우 외래키가 생성된다. - 외래키 지정시 참조 무결성 제약 옵션을 선택할 수 있다. |