후보키 찾기 전략

먼저 “반드시 들어갈 속성”을 고르고, 그 집합이 전체를 결정하는지 본다

후보키 탐색의 시작점은 모든 속성을 다 조합하는 것이 아니라, 다른 속성으로부터 얻을 수 없는 속성을 먼저 고정하는 것이다.

후보키에 먼저 넣는 쪽

종속자에 나타나지 않는 속성은 출발점이 된다

A B

오른쪽 항에 한 번도 나오지 않으면 다른 속성으로부터 만들어낼 수 없으므로, 후보키에 반드시 포함해야 한다.

이미 따라오는 쪽

종속자에 나타나는 속성은 클로저 안에서 얻을 수 있다

C D E

AB→C, C→D, D→E로 도달 가능하므로, 처음부터 후보키에 고정할 필요는 없다.

예시 검증

R(A, B, C, D, E)에서 {A, B}를 출발점으로 클로저를 계산

FD = { AB→C, C→D, D→E } 종속자 = { C, D, E } → 남는 속성 = { A, B }
시작
반드시 포함할 속성 선택 {A, B}
확장 1
AB→C 적용 {A, B, C}
확장 2
C→D 적용 {A, B, C, D}
확장 3
D→E 적용 {A, B, C, D, E}

결론: {A, B}⁺ = {A, B, C, D, E} 이므로 전체 속성을 모두 결정한다. 따라서 후보키는 {A, B}이고, 전체가 안 채워졌다면 이 출발 집합에 다른 속성을 추가해 다시 확인한다.