핵심 구조

후보키는 슈퍼키 중에서 더 줄일 수 없는 최소 집합입니다.

먼저 유일성으로 슈퍼키를 고르고, 그중 속성을 하나라도 빼면 식별이 깨지는 집합만 후보키로 남습니다.

예시 릴레이션

학생(학번, 이름, 학과, 이메일)

이 예시에서는 학번이메일이 각각 학생 전체를 결정합니다.

후보키는 여러 개일 수 있음

판정 기준

1단계

유일성 확인

튜플을 하나씩 구분하면 먼저 슈퍼키가 됩니다.

2단계

최소성 확인

속성을 빼도 식별되면 후보키가 아니라 단지 큰 슈퍼키입니다.

예시 집합 판정

같은 릴레이션 안에서도 유일성과 최소성을 함께 봐야 합니다.

속성 집합
유일성
최소성
결과
{학번}
단독 식별 가능
통과
통과
후보키
{이메일}
단독 식별 가능
통과
통과
후보키
{학번, 이름}
학번만으로 충분
통과
실패
슈퍼키만

핵심: 후보키는 “유일한 속성 집합” 전체가 아니라, 그중 더 이상 줄일 수 없는 최소 집합입니다. 그래서 이 예시의 후보키는 {학번}, {이메일}입니다.