두 질문만 보면 됩니다
속성 조합이 키인지 판단하는 순서는 항상 같습니다.
먼저
유일성
으로 각 튜플을 하나씩 구분할 수 있는지 보고, 통과한 조합만 다시
최소성
으로 불필요한 속성이 섞여 있는지 검사합니다.
예시 릴레이션
학생(학번, 이름, 학과, 이메일)
판정 결과
유일성 X
키 아님
유일성 O
+ 최소성 X
슈퍼키
유일성 O
+ 최소성 O
후보키
유일성
불만족
만족
만족
최소성
대상 아님
불만족
만족
대표 예시
{이름}
{학번, 이름}
{학번}
,
{이메일}
왜 그런가
이름만으로는
동명이인을 구분할 수 없어, 처음 단계인 유일성에서 탈락합니다.
학번만으로 이미 충분한데
이름을 더 붙였으므로, 유일하지만 최소한의 조합은 아닙니다.
속성을 더 빼면
더 이상 유일하게 식별할 수 없으므로, 가장 작은 식별 조합입니다.
핵심
후보키는 슈퍼키 안에서 최소성까지 통과한 경우
입니다. 즉, 모든 후보키는 슈퍼키지만 모든 슈퍼키가 후보키인 것은 아닙니다.