본문 바로가기

Programming/DataBase

키(key)의 개념 및 종류



 

 

슈퍼키(Super Key)

- 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합, 릴레이션의 모든 튜플 중 슈퍼키와 동일한 값은 나타나지 않음


- 유일성 O, 최소성 x


- <학생> 릴레이션에서 학번, 주민등록번호, (학번, 주민등록번호), (학생, 성명), (주민등록번호, 성명), (학번, 주민등록번호, 성명)이 슈퍼키

 

후보키(Candidate Key)

- 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용


- 유일성 O, 최소성 O


- <학생> 릴레이션에서 학번, 주민등록번호가 유일성과 최소성을 만족하므로 후보키, <수강> 릴레이션에서는 (학번, 과목명)이 유일성, 최소성을 만족하므로 후보키


- (학번, 과목명)과 같이 2개 이상의 속성을 조합하여 만든 키를 Composite Key라 한다.

 

기본키(Primary Key)

- 기본키는 후보키 중에서 특별히 선정된 키로 중복된 값을 가질 수 없다.


- 유일성 O, 최소성 O


- 기본키는 NULL값을 가질 수 없다.


- <학생> 릴레이션에서는 후보키인 학번, 주민등록번호 중에서 기본키로 설정할 수 있고 <수강> 릴레이션에서는 (학번, 과목명)을 조합해서 기본키로 설정


대체키(Alternate Key)

- 대체키는 후보키 중에서 기본키가 되지 못한 나머지 키


외래키(Foreign Key)

- 외래키는 다른 릴레이션의 기본키를 참조하는 속성


- 릴레이션간의 관계를 표현할 때 사용


- 외래키는 참조 릴레이션의 기본키와 동일한 키 속성


- <수강> 릴레이션의 학번은 <학생> 릴레이션의 기본키인 학번을 참조하고 있으므로 <수강> 릴레이션에서 학번은 외래키


'Programming > DataBase' 카테고리의 다른 글

뷰(View)의 개념  (0) 2013.06.26
무결성 (Integrity)  (0) 2013.06.26
데이터베이스 설계(DataBase Design)  (0) 2013.06.25
관계형 데이터모델 (Relational Data Model)  (0) 2013.06.25
스키마 (Schema)  (0) 2013.06.25