← 개념서태블릿/PC 버전
1과목 · 데이터 모델링의 이해·5

식별자 (Identifier)

주/보조 식별자, 본질/인조, 내부/외부 식별자의 구분과 선정 원칙을 다룹니다.

1. 식별자란

엔터티의 각 인스턴스를 유일하게 구분하는 속성(또는 속성 집합). 관계형 DB에서 Primary Key로 구현.

2. 식별자 분류

기준 종류
대표성 주식별자(PK) / 보조식별자(UK)
생성 본질 / 인조
스코프 내부 / 외부 (외부는 FK이면서 PK의 일부)
속성 수 단일 / 복합

3. 주식별자 4대 요건

  1. 유일성 — 중복 없음.
  2. 최소성 — 최소의 속성 수.
  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요건을 답한다.
  • 본질·인조 식별자의 장단을 비교한다.
  • 내부·외부 식별자를 구분한다.
  • 복합 식별자 예를 든다.