정보처리기사/데이터베이스 활용

키의 분류와 개념

glorypang 2025. 10. 15. 20:53
728x90
반응형
SMALL

슈퍼키 (Super Key)

  • 유일성만 만족(한 행을 유일하게 식별 가능)
  • 최소일 필요는 없음 → 불필요한 속성이 포함되어도 됨.

후보키 (Candidate Key)

  • 유일성 + 최소성 모두 만족
  • 더 이상 뺄 수 없는(불필요한 속성이 없는) 최소 식별자 집합.

기본키 (Primary Key, PK)

  • 후보키 중 선택된 키 (NULL/중복 금지).

대체키 (Alternate Key)

  • 후보키 중 기본키로 선택되지 않은 나머지 후보키.

한 줄 요약

슈퍼키 ⊇ 후보키

  • 후보키 = 기본키 + 대체키

대리키 (Surrogate Key / 인공키)

  • 실제 데이터와 무관하게 시스템이 인위적으로 부여한 식별자
    (보통 일련번호, 자동 증가 ID 등)
  • 특징:
    • 의미를 가지지 않음 (업무적 속성과 독립)
    • 데이터 변경 시에도 안정적 (업무 속성이 변해도 ID는 변하지 않음)
    • 데이터베이스 내부적으로 관리가 쉬움

예시: 학생(학번, 성명, 주민등록번호, 학과)

학번 주민등록번호 성명 학과
1 123456-789456 홍길동 컴퓨터학과
2 456789-123456 김상순 물리학과
  • 학번: 학교에서 유일
  • 주민등록번호: 사람마다 유일
  • 성명, 학과: 단독으론 유일 아님

1) 슈퍼키 예시

  • {학번}, {주민등록번호} ← 유일성 만족
  • {학번, 성명}, {학번, 학과}, {학번, 성명, 학과}, {주민등록번호, 학과} …
    • 유일성은 여전히 만족(학번/주민번호가 포함되어 있으니까)
    • 하지만 불필요한 속성이 섞여 있어 최소성은 위배 → “슈퍼키는 맞지만 후보키는 아님”

2) 후보키

  • {학번}, {주민등록번호}
    • 둘 다 유일 + 최소
    • {학번, 성명}처럼 더 큰 집합은 후보키가 아님(학번 하나만으로 식별 가능하므로 최소성 위배)

3) 기본키/대체키 선정

  • 기본키(PK): 예를 들어 학번을 선택
  • 대체키(AK): 주민등록번호 (후보키지만 PK로 선택되지 않은 키)

728x90
반응형
LIST