Database

키의 종류

Jinn 2023. 7. 31. 22:57

관계 데이터 모델에서 키는 슈퍼키, 후보키, 기본키, 대체키, 외래키 다섯 가지로 분류한다.

 

슈퍼키

유일성을 만족하는 속성

아이디는 중복을 허용하지 않으므로 슈퍼키가 될 수 있다. 또한 (아이디, 이름)로 이루어진 속성 집합도 유일성을 만족하므로 슈퍼키가 될 수 있다.

 

후보키

유일성과 최소성을 만족하는 속성

유일성을 만족하는 슈퍼키에서 최소성을 만족하면 후보키가 된다.

슈퍼키인 아이디와 (아이디, 이름) 중에서 최소성을 만족하는 아이디가 후보키가 된다.

 

기본키

여러 후보키 중에서 기본적으로 사용할 키

null값을 가지면 안된다.

 

대체키

기본키로 선택되지 못한 후보키

 

외래키

기본키를 참조하는 키

null값을 가질 수 있으며 중복된 투플이 존재할 수 있다.


무결성 제약조건(개체 무결성 제약조건, 참조 무결성 제약조건)

 

개체 무결성 제약조건

기본키는 null값을 가지면 안됨

 

참조 무결성 제약조건

외래키는 참조 가능한 값만 가져야함 (기본키에 존재하는 값)