CONSTRAINT TYPES

제약 조건은 잘못된 값을 DB 단계에서 막는다

애플리케이션 검증이 빠져도 선언된 제약은 마지막 방어선으로 동작한다. 각 제약은 식별, 관계, 중복, 필수값, 조건, 기본값을 나누어 맡는다.

제약 막는 문제 대표 사용
PK 행을 식별할 수 없거나 중복되는 문제 사원번호, 주문번호
FK 없는 부모 행을 참조하는 문제 주문 고객ID, 직원 부서ID
UNIQUE 업무상 하나여야 하는 값의 중복 이메일, 사업자번호
NN 필수값이 비어 있는 행 저장 이름, 비밀번호, 상태값
CHECK 허용 범위를 벗어난 값 나이 >= 0, 상태 목록
DEFAULT 값 생략 시 의도치 않은 빈값 가입일, 주문 상태

핵심: 제약 조건은 “입력 폼 검증”이 아니라 SQL 직접 실행, 배치, 운영 작업까지 같은 규칙으로 막는 스키마 계약이다.