← 질문 목록
#226깊이 0

테이블 설계 시 기본키를 설정하는 기준은 무엇인가?

데이터베이스기초설계 원칙인덱스·질의

데이터의 유일성과 불변성을 보장하는 값을 선택한다. 중복되지 않아야 하며 값이 바뀌지 않는 속성이 가장 적합하다.

기준적절한 키부적절한 키
유일성시스템 생성 ID이름, 나이
불변성UUID, 일련번호이메일, 전화번호
변경 가능성대리 키사용자 수정 가능 값

후보키 중에서 짧고 변하지 않으며 중복이 없는 키를 기본키로 정한다. 비즈니스 로직에 의존적인 값은 변경 가능성이 있어 피하는 것이다.

대리 키를 사용하면 실제 데이터가 바뀌어도 외래 키 참조는 그대로 유지된다. 이메일이나 전화번호처럼 바뀔 수 있는 값을 참조 키로 삼지 않는 이유다.

기본키가 너무 크거나 복잡하면 인덱스 성능이 왜곡된다. B-Tree에서는 키가 작을수록 한 페이지에 더 많이 담긴다. 그만큼 훑을 페이지가 줄어 탐색이 빨라진다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

테이블 설계 시 기본키를 설정하는 기준은 무엇인가?