후보 키 예제

후보 키를 정의하는 가장 좋은 방법은 은행의 데이터베이스를 설계하는 예제입니다. 각 고객의 계정을 고유하게 정의하기 위해 고객의 생년월일과 각 계정에 대한 순차번호를 조합하여 사용할 수 있습니다. 그래서, 씨 앤드류 스미스의 당좌 예금 계좌 번호 120344-1, 그의 저축 계좌 120344-2. 후보 키가 방금 만들어졌습니다. 각 테이블에는 단일 기본 키만 있습니다. 각 관계에는 하나 이상의 후보 키가 있을 수 있습니다. 이러한 후보 키 중 하나를 기본 키라고 합니다. 각 후보 키는 기본 키에 대한 자격이 있습니다. 따라서 기본 키에 대한 후보를 후보 키라고 합니다. 후보 키의 정의는 다음과 같은 (추상) 예제와 함께 설명 될 수있다. 다음 두 가지 법적 값 r1 및 r2만 있는 특성(A, B, C, D)이 있는 관계 변수(relvar) R을 고려합니다. 이 테이블에는 Emp_Id, Emp_Number 및 Emp_Name의 세 가지 특성이 있습니다. 여기서 Emp_Id 및 Emp_Number는 고유 값을 가지며 Emp_Name은 두 명 이상의 직원이 같은 이름을 가질 수 있기 때문에 중복 값을 가질 수 있습니다.

특정 특성 집합이 후보 키인지 여부를 결정하기 위해 relvar에 할당될 수 있는 모든 관계를 고려해야 합니다. 예를 들어 r1만 고려했다면 {A,B}가 후보 키라는 결론을 내렸을 것입니다. 그러나 해당 집합에는 고유 성 속성이 없기 때문에 특정 집합이 후보 키가 아니라는 관계로 결론을 내릴 수 있습니다(r1의 {A,D}예). 고유성 속성이 있는 집합의 적절한 하위 집합이 있는 경우 일반적으로 수퍼세트가 후보 키가 아니라는 증거로 사용할 수 없습니다. 특히 빈 관계판의 경우 제목의 모든 하위 집합에는 빈 집합을 포함한 고유 성 속성이 있습니다. 대체 키: EmployeeID가 PK인 경우와 같이 후보 열이 기본 열의 다른 열인 경우 SSN이 대체 키입니다. EmployeeID 및 EmployeeEmail 모두 기본 키가 될 수 있습니다. 따라서 둘 다 후보 키입니다. 테이블에 단일 기본 Key.Let 다른 예제를 볼 수 있기 때문에 테이블에 대한 기본 키로 선택하십시오.

: 중복 특성이 없어야 합니다. DBMS에서 후보 키 정의: 중복 특성이 없는 수퍼 키를 후보 키라고 합니다.