
데이터베이스 과목을 수강하며, 헷갈리는 키 3개에 대한 개념을 간략하게 정리한다.
튜플(행)을 고유하게 식별할 수 있는 애트리뷰트(attribute) 집합이다.
슈퍼키는 최소한의 속성을 포함하지 않아도 되며, 하나 이상의 애트리뷰트로 구성될 수 있다.
슈퍼키의 하위 집합으로, 유일성과 최소성을 모두 만족하는 애트리뷰트 집합이다.
즉, 후보키는 튜플을 유일하게 식별할 수 있는 최소한의 애트리뷰트로 구성된다.
여러 후보키 중에서 선택된 하나의 키로, 데이터베이스에서 각 튜플을 유일하게 식별하는 데 사용된다. 기본키는 NULL 값을 가질 수 없으며, 고유해야 한다.
데이터베이스에서 먼저 슈퍼키를 정의한다.
그 중에서 유일성 및 최소성을 만족하는 애트리뷰트 집합을 찾아 후보키를 뽑는다.
후보키 중에서 하나를 선택하여 기본키로 지정한다.
R(A,B,C)에서 A와 B가 튜플을 각각 고유하게 식별한다고 가정할 때: