Database ‐ 데이터 무결성 - dnwls16071/Backend_Summary GitHub Wiki

📚 기본 제약 조건

NOT NULL : NULL값 방지

  • 역할 : 해당 컬럼에 NULL값이 저장되는 것을 허용하지 않는다. 반드시 필요한 정보가 누락되는 것을 막는다.

UNIQUE : 중복 값 방지

  • 역할 : 해당 컬럼에 들어가는 모든 값은 테이블 내에서 반드시 고유해야만 한다.
  • 중복 데이터가 쌓이는 것을 막는다.

PRIMARY KEY : 대표 식별자

  • 역할 : 테이블의 각 행을 고유하게 식별할 수 있는 단 하나의 대표 키. NOT NULL과 UNIQUE 제약 조건 특징을 모두 포함한다. 즉, 기본 키 컬럼은 절대 NULL일 수 없으며 절대 중복될 수 없다.

DEFAULT : 기본값 설정

  • 역할 : 특정 컬럼에 값을 명시적으로 입력하지 않은 경우 자동으로 설정된 기본값을 지정한다.

📚 외래 키 제약 조건

ON DELETE / ON CASCADE

  • RESTRICT : 자식 테이블에 참조하는 행이 있으면 부모 테이블의 행을 삭제/수정할 수 없다.
  • CASCADE : 부모 테이블 행이 삭제/수정되면 그를 참조하는 자식 테이블 행도 함께 자동으로 삭제/수정된다.
  • SET NULL : 부모 테이블 행이 삭제/수정되면 자식 테이블의 해당 외래 키 컬럼의 값을 NULL로 설정한다.(단, 이 옵션을 쓰려면 자식 테이블의 외래 키 컬럼이 NULL을 허용해야 한다.)

📚 CHECK 제약 조건

  • CHECK 제약 조건은 특정 컬럼에 대해 INSERT 또는 UPDATE가 일어나 때마다 지정된 조건식이 참인지를 검사한다. 만약 조건식이 거짓이라면, 데이터베이스는 해당 데이터 입력을 거부하고 에러를 발생시킨다.