카테고리 없음
데이터베이스 기본 키
문자메일
2022. 11. 4. 21:51
데이터베이스 기본 키는 다음 3가지 조건을 모두 만족해야 한다.
- null 값은 허용하지 않는다.
- 유일해야 한다.
- 변해선 안 된다.
테이블의 기본 키를 선택하는 전략은 크게 2가지가 있다.
자연 키
- 비즈니스에 의미가 있는 키
- ex : 주민등록번호, 이메일, 전화번호
대리 키
- 비즈니스와 관련 없는 임의로 만들어진 키
- ex : auto_increment 등
자연 키보다는 대리 키를 권장한다.
대리 키는 비즈니스와 무관한 임의의 값이므로 요구사항이 변경되어도 기본 키가 변경되는 일은 드물다. 대리 키를 기본 키로 사용하되 주민등록번호나 이메일처럼 자연 키의 후보가 되는 컬럼들은 필요에 따라 유니크 인덱스를 설정해서 사용하는 것이 좋다.
ex : 주민등록 번호는 null이 아니고 변하지 않으며 유일하다는 모든 조건을 만족하는 것 같다. 하지만 비즈니스 규칙은 생각보다 쉽게 변한다. 주민등록번호 조차도 여러 가지 이유로 변경될 수 있다.
비즈니스 환경은 언젠가 변한다.
법적으로 주민번호를 저장할 수 없게 되는 경우가 발생하여 주민번호가 기본키로 설정된 시스템은 기본키를 바꿔야 하는 상황이 발생