UNIQUE NULL

UNIQUE는 중복을 막지만 NULL 해석은 DBMS마다 다르다

업무 키가 반드시 하나여야 한다면 UNIQUE만으로는 부족할 수 있다. 값이 반드시 있어야 하면 NOT NULL을 함께 둔다.

실무 기준: 이메일처럼 필수 업무 키는 NOT NULL + UNIQUE로 선언한다.

DBMS UNIQUE 컬럼의 여러 NULL 설계 판단
Oracle 허용 NULL은 “아직 모름”으로 두고 중복 검사에서 제외된다
MySQL 허용 여러 NULL이 가능하므로 필수 업무 키에는 NOT NULL을 추가한다
PostgreSQL 허용 부분 유니크 인덱스로 조건부 유일성을 설계할 수 있다
SQL Server 일반 UNIQUE는 보통 1개만 허용 여러 NULL이 필요하면 필터드 유니크 인덱스를 검토한다

주의: DBMS를 바꾸면 “NULL도 중복인가?”라는 규칙이 달라질 수 있다. 마이그레이션 전 업무 키 정책을 먼저 확인한다.