<aside>
📖
학습 목표
- 후보키, 기본키, 대체키 개념을 명확히 구분할 수 있다.
- 다양한 도메인 환경에서 식별자를 설계할 수 있다.
- 단일 키와 복합 키의 장단점을 이해하고 판단할 수 있다.
- 실무에서 발생할 수 있는 식별자 설계 이슈와 해결 방안을 설명할 수 있다.
- ERD 툴을 사용하여 식별자 중심의 모델링을 구현할 수 있다.
</aside>
1. 식별자 설계
1-1. 식별자의 개념
***식별자(Identifier)***는 엔티티의 각 인스턴스를 고유하게 구별할 수 있도록 해주는 속성입니다.
- 즉, 같은 테이블 안에서 중복되지 않는 값.
- 데이터의 무결성과 참조 관계의 정확성을 보장합니다.
예시)
- 주민등록번호: 사람을 식별
- 학번: 학생을 식별
- 상품코드: 제품을 식별
1-2. 후보키(Candidate Key)
후보키란 한 테이블 내에서 엔티티를 식별할 수 있는 후보가 되는 모든 키 집합입니다.
- 테이블 안에서 중복되지 않으며, 유일한 값이어야 함
- 테이블에는 여러 개의 후보키가 있을 수 있음
-- 예시: 회원 테이블
CREATE TABLE member (
member_id UUID PRIMARY KEY,
email VARCHAR(255) UNIQUE,
phone VARCHAR(20) UNIQUE
);
여기서 member_id, email, phone 모두 후보키가 될 수 있습니다.
1-2-1. ✅ 후보키의 조건
| 조건 |
설명 |
| 유일성 |
모든 값이 고유하게 식별되어야 함 |
| 최소성 |
불필요한 속성을 포함하지 않아야 함 |
1-3. 기본키(Primary Key)