CONSTRAINT NAMES
제약 조건 이름은 에러를 추적하는 운영 표지판이다
이름을 지정하지 않으면 DBMS가 자동 이름을 붙인다. 운영 중 에러가 났을 때 어떤 규칙이 깨졌는지 바로 알 수 있도록 접두어 규칙을 둔다.
| 접두어 | 의미 | 예시 |
|---|---|---|
pk_ |
PRIMARY KEY | pk_emp |
fk_ |
FOREIGN KEY | fk_user |
uq_ |
UNIQUE | uq_email |
ck_ |
CHECK | ck_age |
nn_ |
NOT NULL | nn_name |
| 조건 | 판단 기준 | 나쁜 신호 |
|---|---|---|
| 종류 | 접두어만 봐도 PK/FK/UQ/CK/NN을 구분한다 | 자동 생성명 |
| 대상 | 테이블과 주요 컬럼이 드러난다 | 의미 없는 번호 |
| 일관성 | 마이그레이션, 로그, 운영 문서에서 같은 이름을 쓴다 | DBMS별 자동 이름 혼재 |
핵심: 제약 이름은 꾸밈이 아니라 장애 로그에서 바로 원인을 찾게 해주는 운영 정보다.