Concept
- Key란 데이터베이스에서 조건에 맞는 튜플을 찾거나 검색 시 기준이 되는 속성이다.
Key
Super Key
-
릴레이션을 구성하는 모든 Tuple에 대해
유일성(Unique)
은 만족하지만최소성(Minimality)
은 만족하지 못한다. -
슈퍼키는
최소성
과 관계없이 튜플을 유일하게 구분할 수 있으면 된다.
<학생> 릴레이션에서는
학번, 주민등록번호, (학번, 주민등록번호), (학번, 주민등록번호, 성명)등이 [슈퍼키]이다.
(학번, 주민등록번호)를 사용한 슈퍼키는 다른 튜플들과 구분할 수 있는 [유일성]은 만족하지만,
학번이나 주민등록번호 1개 만으로도 다른 튜플들을 구분할 수 있으므로 [최소성]은 만족하지 못한다.
유일성
- 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 함
최소성
- 키를 구성하는 속성 하나를 제거하면 유일하게 식별할 수 없도록 꼭 필요한 최소의 속성으로 구성되어야 함
Candidate Key
-
후보키는
유일성
과최소성
을 모두 만족한다. -
슈퍼키 중에서
유일성
과최소성
을 만족시키는 것 -
릴레이션을 구성하는 속성들 중 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합
<학생> 릴레이션에서는 학번, 주민등록번호는 유일성과 최소성을 만족하므로 [후보키]가 된다.
<수강> 릴레이션에서는 (학번, 과목명)으로 조합해야 유일성과 최소성을 만족하므로 [후보키]가 된다.
Primary Key
-
후보키 중에서 특별히 선정된 것
-
기본키는
유일성
과최소성
을 갖는다. -
후보키
의 성질을 갖는다.
<학생> 릴레이션에서는 후보키인 학번이나 주민등록번호 중에서 선택하여 [기본키]로 설정할 수 있다.
<수강> 릴레이션에서는 (학번, 과목명)을 조합해서 [기본키]로 설정할 수 있다.
Alternate Key
후보키
중에서선정된 기본키
를 제외한 나머지 후보키를 의미
<학생> 릴레이션에서 학번이 기본키로 설정되면 주민등록번호는 [대체키]가 된다.
Foreign Key
- 다른 릴레이션의 기본키를 참조하는 속성
<수강> 릴레이션의 학번은 <학생> 릴레이션의 기본키인 학번을 참조하고 있으므로
<수강> 릴레이션에서 학번은 [외래키]가 된다.