릴레이션을 굿성하는 속성중 Tuple을 유일하게 식별할 수 있는 속성들의 부분집합을 의미합니다. 즉 기본키로 사용할 수 있는 속성들을 모아 후보키라고 부릅니다.
모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 합니다.
릴레이션에 있는 모든 튜플에 대해 유일성과 최소성을 만족시켜야 합니다.
→ 유일성 : key로 하나의 튜플을 유일하게 식별할 수 있음.
→ 최소성 : 꼭 필요한 속성으로만 구성
후보 키 중 선택한 주 키 라고 보시면 됩니다.
한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성입니다.
개체무결성의 첫번째 조건을 위해 Null값을 가질 수 없습니다.
기본키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없습니다.(개체무결성 두번째 조건)
→ 개체무결성 조건은 기본키가 가지고 있는 값의 유일성을 보장받아야 되는 조건입니다.
그분이 좋아하시는 '슈퍼' 키입니다... 으흘ㄹ흘
→ 예) [학생]릴레이션에서 학번+주민번호, 학번+주민번호+성명, 학번, 주민번호 등으로 슈퍼키를 구성할 수 있습니다. 여기서 최소성을 만족시키지 못한다는 말은 학번+주민번호+성명이 슈퍼키인 경우 3개의 속성 조합을 통해 유일성은 만족하지만, 성명을 단독적으로 슈퍼키로 사용할 경우 구별이 불가능하기에 최소성을 만족시키지 않습니다.