분류 기준은 검사 범위

저장 직전, DBMS는 같은 데이터를 5개의 다른 질문으로 점검합니다

무결성 제약은 이름만 다른 규칙 목록이 아니라, 행 식별부터 업무 규칙까지 어떤 층을 검사하느냐에 따라 나뉘는 분류입니다.

행 식별
개체 무결성 Entity Integrity
이 행을 확실히 식별할 수 있는가?

지키는 것 각 튜플의 고유한 기본키. 막는 오류 PK가 NULL이거나 중복되어 어느 행인지 구분되지 않는 상태.

PRIMARY KEY
테이블 관계
참조 무결성 Referential Integrity
다른 테이블을 가리키는 연결이 실제로 존재하는가?

지키는 것 부모-자식 테이블의 연결. 막는 오류 주문은 있는데 고객은 없는 것처럼 고아 참조가 생기는 상태.

FOREIGN KEY
값의 범위
도메인 무결성 Domain Integrity
컬럼 값이 허용된 형식과 범위 안에 있는가?

지키는 것 자료형, 길이, 범위, 선택 가능한 값 집합. 막는 오류 음수 나이, 잘못된 코드값 같은 값 자체의 오류.

CHECK / NOT NULL / UNIQUE / DEFAULT
키 설계
키 무결성 Key Integrity
이 테이블은 행을 구분할 키 구조를 갖고 있는가?

지키는 것 릴레이션의 식별 기준 자체. 막는 오류 어떤 컬럼 조합이 행을 대표하는지 정해지지 않아 갱신·삭제 기준이 흔들리는 상태. 개체 무결성이 저장된 PK 값을 본다면, 키 무결성은 키 설계를 봅니다.

PRIMARY KEY / UNIQUE
업무 규칙
사용자 정의 무결성 Business Rule Integrity
업무에서 정한 조건까지 만족하는가?

지키는 것 시작일 ≤ 종료일, 할인율 0~50% 같은 조직 고유의 규칙. 막는 오류 스키마만으로는 충분하지 않은 업무 의미 위반.

CHECK / TRIGGER
읽는 순서: 행을 식별할 수 있는지 확인하고, 다른 테이블과의 연결을 검증한 뒤, 값의 범위와 키 설계, 마지막으로 비즈니스 규칙까지 점검합니다.