패스트캠퍼스 백엔드 부트캠프 3기/database

[database] Constraint

hail2y 2025. 2. 3. 12:07

Constraint 종류

제약조건 설명
NOT NULL 컬럼이 널 값을 가질 수 없음
UNIQUE 컬럼이나 컬럼의 조합이 테이블의 모든 행에서 고유한 값을 가져야 함, UNIQUE 컬럼에 대한 인덱스가 자동으로 생성
PRIMARY KEY NOT NULL + UNIQUE
컬럼이나 컬럼의 조합이 테이블의 각 행을 유일하게 구별시켜 줌
FOREIGN KEY 다른 테이블의 PK, 컬럼이나 컬럼의 조합이 다른 테이블의 컬럼이나 컬럼의 조합을 참조함
CHECK 컬럼값이 반드시 참이어야 하는 조건

 

Contraint 정의 방법

  • 컬럼 레벨
  • 테이블 레벨

테이블과 제약조건은 별도로 관리되어 테이블을 삭제한다고 제약조건도 삭제되는 것은 아니다. 테이블 삭제 시 제약조건도 삭제되게 하기 위해서는 [CASCADE CONSTRAINTS] 옵션을 명시한다.

반면에 인덱스는 해당 테이블 삭제 시 테이블의 모든 인덱스가 삭제된다.