비교 차트
비교의 근거 | 수퍼 키 | 후보 키 |
---|---|---|
기본 | 관계의 모든 속성을 고유하게 식별하는 단일 속성 또는 속성 세트는 수퍼 키입니다. | 수퍼 키이기도 한 수퍼 키의 적절한 하위 집합이 후보 키입니다. |
다른 하나 | 모든 수퍼 키가 후보 키가 될 수있는 것은 아닙니다. | 모든 후보 키는 수퍼 키입니다. |
선택 | 슈퍼 키 세트는 후보 키 선택을위한 기초를 형성합니다. | 후보 키 세트는 단일 기본 키 선택을위한 기초를 형성합니다. |
카운트 | 상대적으로 수퍼 키가 더 많습니다. | 비교적 관계가 적은 후보 키가 있습니다. |
슈퍼 키의 정의
슈퍼 키 는 모든 관계의 기본 키입니다. 관계에있는 다른 모든 속성을 식별 할 수 있는 키로 정의됩니다. 수퍼 키는 단일 속성 또는 속성 세트 일 수 있습니다. 두 엔티티에는 수퍼 키를 구성하는 속성에 대해 동일한 값이 없습니다. 하나 이상의 슈퍼 키가 관계에 적어도 하나 이상 있습니다.
최소 수퍼 키는 후보 키라고도합니다. 그래서 우리는 수퍼 키 중 일부가 후보 키가되는지 검증 할 수 있다고 말할 수 있습니다. 슈퍼 키가 후보 키가되는 방법을 나중에 확인합니다.
관계 R (A, B, C, D, E, F)을 취해 봅시다. 우리는 릴레이션 R에 대해 다음과 같은 의존성을 가지고 있으며, 우리는 각각 슈퍼 키인 것을 확인했습니다.
그러나 핵심 CB를 사용하여 우리는 속성 D 와 F 에 대한 값만 찾을 수 있습니다. 속성 A 와 E에 대한 값을 찾을 수 없습니다. 따라서 CB 는 슈퍼 키가 아닙니다. 키 D를 사용 하는 경우도 키 D 를 사용하는 테이블의 모든 속성 값을 찾을 수 없습니다. 따라서 D는 수퍼 키가 아닙니다.
후보 키의 정의
같은 관계의 다른 수퍼 키의 적절한 하위 집합 인 수퍼 키를 최소 수퍼 키 라고합니다. 최소 수퍼 키는 후보 키 라고 합니다 . 슈퍼 키와 마찬가지로 후보 키는 테이블의 각 튜플을 고유하게 식별합니다. 후보 키의 속성은 NULL 값을 허용 할 수 있습니다.
후보 키 중 하나가 DBA에 의해 기본 키로 선택됩니다. 단, 키 속성 값은 고유해야하며 NULL을 포함하지 않아야합니다. 후보 키의 속성을 프라임 속성 이라고 합니다 .
위의 예에서는 릴레이션 R에 대한 수퍼 키를 찾았습니다. 이제 수퍼 키를 모두 확인해 봅시다.
슈퍼 키 AB 는 슈퍼 키 ABD 의 적절한 하위 집합입니다. 따라서 최소한의 슈퍼 키 AB 만으로 테이블의 모든 속성을 식별 할 수 있다면 더 큰 키 ABD 가 필요하지 않습니다. 따라서 수퍼 키 AB 는 후보 키이고 ABD 는 수퍼 키입니다.
유사하게, 슈퍼 키 DF 는 또한 슈퍼 키 DEF 의 적절한 서브 세트이다. 따라서 DF 가 관계의 모든 속성을 식별 할 수있는 경우 왜 DEF 가 필요한 것입니까? 따라서 수퍼 키 DF 는 후보 키가되고 DEF 는 수퍼 키입니다.
수퍼 키 CD 는 다른 수퍼 키의 적절한 하위 집합이 아닙니다. 그래서 우리는 CD 가 릴레이션의 모든 속성을 식별하는 최소 수퍼 키라고 말할 수 있습니다. 따라서 CD 는 후보 키입니다.
CB 및 D 는 수퍼 키가 아니기 때문에 후보 키가 될 수 없습니다. 위 표를 보면 각 후보 키가 수퍼 키이지만 그 역이 참이 아니라고 결론 내릴 수 있습니다.
수퍼 키와 후보 키의 주요 차이점
- 특정 관계의 모든 속성을 고유하게 식별 할 수있는 단일 속성 또는 속성 세트를 수퍼 키라고합니다. 한편, 다른 수퍼 키의 적절한 하위 집합 인 수퍼 키를 후보 키라고합니다.
- 모든 후보 키는 수퍼 키이지만 역이 참이 아닙니다.
- 슈퍼 키 세트는 후보 키를 찾기 위해 검증되는 반면, 후보 키 세트는 단일 기본 키를 선택하도록 검증됩니다.
- 슈퍼 키는 후보 키보다 상대적으로 더 많습니다.
결론:
슈퍼 키는 어떤 관계의 기본 키입니다. 관계에 대한 다른 키가 다른 키의 기초를 형성 할 때이를 인식하기 전에 먼저 그려야합니다. 후보 키는 기본 키인 관계의 가장 중요한 키를 인식하는 데 도움이되므로 중요합니다.