1과목 · 데이터 모델링의 이해·5장
식별자 (Identifier)
주/보조 식별자, 본질/인조, 내부/외부 식별자의 구분과 선정 원칙을 다룹니다.
1. 식별자란
엔터티의 각 인스턴스를 유일하게 구분하는 속성(또는 속성 집합). 관계형 DB에서 Primary Key로 구현.
2. 식별자 분류
| 기준 | 종류 |
|---|---|
| 대표성 | 주식별자(PK) / 보조식별자(UK) |
| 생성 | 본질 / 인조 |
| 스코프 | 내부 / 외부 (외부는 FK이면서 PK의 일부) |
| 속성 수 | 단일 / 복합 |
3. 주식별자 4대 요건
- 유일성 — 중복 없음.
- 최소성 — 최소의 속성 수.
- 불변성 — 한 번 부여되면 바뀌지 않음.
- 존재성 — 항상 값이 있음 (NOT NULL).
4. 본질 vs 인조
| 구분 | 장점 | 단점 |
|---|---|---|
| 본질 | 의미 명확 | 길이·가변성 |
| 인조 | 짧음·불변·성능 | 의미 없음, 별도 UK 필요 |
실무는 대부분 인조 식별자 PK + 본질 식별자 UNIQUE.
CREATE TABLE member (
member_id BIGINT PRIMARY KEY, -- 인조
email VARCHAR(200) UNIQUE NOT NULL -- 본질 (UK)
);
5. 내부 vs 외부
외부 식별자는 부모의 PK를 FK로 받아 자신의 PK에 포함. 약한 엔터티가 대표적.
CREATE TABLE order_item (
order_id BIGINT NOT NULL REFERENCES orders(order_id),
line_no INT NOT NULL,
PRIMARY KEY (order_id, line_no)
);
6. 선정 원칙
- 자주 조회되는 속성을 식별자로.
- 명칭·내역은 식별자로 쓰지 않는다.
- 복합 식별자는 속성 수 최소.
- 대표성 높은 속성을 주식별자로.
7. 자주 출제되는 포인트
- 주식별자 4대 요건.
- 인조 식별자 권장 이유.
- 내부 vs 외부: FK가 PK에 포함되는가.
8. 요약 체크리스트
- 주식별자 4요건을 답한다.
- 본질·인조 식별자의 장단을 비교한다.
- 내부·외부 식별자를 구분한다.
- 복합 식별자 예를 든다.