CS
[db] 키의 종류 및 구분 -수퍼키, 후보키, 기본키, 대체키, 외래키
그레고리력
2021. 3. 23. 20:25
키(Key)란?
- 데이터베이스에서 조건에 만족하는 튜플을 찾거나 정렬할 때, 기준이 되는 속성(attribute)을 말함
- 즉 무언가를 식별하는 고유한 식별자(identifier) 역할
키의 종류 및 구분
수퍼키(super key)란?
- 키 만으로 특정한 tuple을 보장한다면 K를 R(attribute의 집합, 릴레이션)의 superkey라고 부른다.
- 즉 특정가능하면 슈퍼키라 할 수 있다.
- 따라서 유일성(Unique) 만족, 최소성(Minimality)은 충족 못 함
후보키(Candidate Key)란?
- 수퍼키 중 최소성(Minimality)을 만족시키는 key
- 즉 minial super key = candidate key
기본키(Primary key)란?
- 수퍼키의 특징을 지님(유일성, 최소성, 튜플을 식별)
- 중복값이 없으며 NULL 값을 가질 수 없음
- 각 테이블의 프라이머리 키는 경우에 따라 다르다.(후보키들 중에서 하나를 선택)
대체키(Alternate Key)란?
외래키(Foreign Key)란?
- 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
- 릴레이션 간의 관계를 표현
- 예를 들어 과목 테이블의 primary key를 이용해 다른 테이블을 만들 때 이 attribute를 foreign key라 부름