제약 조건 이름

이름은 에러 메시지를 운영자가 읽을 수 있는 규칙 정보로 바꿉니다.

제약 이름을 생략하면 DBMS가 임의 이름을 만듭니다. 동작은 같아도, 장애나 데이터 수정 순간에는 의미 있는 이름이 원인 추적 시간을 크게 줄입니다.

이름을 생략한 경우

원인 추적 필요
ORA-02290: check constraint
(HR.SYS_C007234) violated
보이는 것 DBMS가 만든 식별자만 보입니다.
해야 할 일 데이터 딕셔너리나 테이블 정의를 열어 어떤 조건인지 역추적합니다.
운영 영향 에러는 났지만 깨진 규칙이 바로 설명되지 않습니다.

의미 있는 이름을 붙인 경우

즉시 해석
ORA-02290: check constraint
(HR.CK_EMP_SALARY) violated
보이는 것 급여 규칙 위반이라는 의미가 이름에 들어 있습니다.
해야 할 일 음수 급여 입력, 데이터 정제, API 검증 누락을 바로 의심할 수 있습니다.
운영 영향 ALTER/DROP 대상 제약도 이름으로 정확히 지정할 수 있습니다.

접두어는 제약 종류를 압축합니다

팀 규칙으로 통일하면 로그, 마이그레이션, 장애 분석에서 같은 이름 체계를 공유할 수 있습니다. 단, NOT NULL 이름 지정 문법은 DBMS별로 확인합니다.

pk_ 기본키 pk_employees
fk_ 외래키 fk_orders_user
uq_ 유일성 uq_users_email
ck_ 조건 검사 ck_age_positive
nn_ 필수값 DBMS별 문법 확인