슈퍼키(Super Key)
- 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합, 릴레이션의 모든 튜플 중 슈퍼키와 동일한 값은 나타나지 않음
- 유일성 O, 최소성 x
- <학생> 릴레이션에서 학번, 주민등록번호, (학번, 주민등록번호), (학생, 성명), (주민등록번호, 성명), (학번, 주민등록번호, 성명)이 슈퍼키
후보키(Candidate Key)
- 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용
- 유일성 O, 최소성 O
- <학생> 릴레이션에서 학번, 주민등록번호가 유일성과 최소성을 만족하므로 후보키, <수강> 릴레이션에서는 (학번, 과목명)이 유일성, 최소성을 만족하므로 후보키
- (학번, 과목명)과 같이 2개 이상의 속성을 조합하여 만든 키를 Composite Key라 한다.
기본키(Primary Key)
- 기본키는 후보키 중에서 특별히 선정된 키로 중복된 값을 가질 수 없다.
- 유일성 O, 최소성 O
- 기본키는 NULL값을 가질 수 없다.
- <학생> 릴레이션에서는 후보키인 학번, 주민등록번호 중에서 기본키로 설정할 수 있고 <수강> 릴레이션에서는 (학번, 과목명)을 조합해서 기본키로 설정
대체키(Alternate Key)
- 대체키는 후보키 중에서 기본키가 되지 못한 나머지 키
외래키(Foreign Key)
- 외래키는 다른 릴레이션의 기본키를 참조하는 속성
- 릴레이션간의 관계를 표현할 때 사용
- 외래키는 참조 릴레이션의 기본키와 동일한 키 속성
- <수강> 릴레이션의 학번은 <학생> 릴레이션의 기본키인 학번을 참조하고 있으므로 <수강> 릴레이션에서 학번은 외래키
[출처] [데이터베이스] 키(Key)|작성자 bibim
'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 |