-->

[정보처리기사] 관계형 데이터베이스의 키(Key) 종류

반응형

키(Key)의 개념 및 종류

- 데이터베이스에서 튜플들을 서로 구분할 수있는 기준이 되는 애트리뷰트를 말함

 

왼쪽이 <학생> 릴레이션, 오른쪽이 <수강> 릴레이션

 

후보키(Candidate Key)

- 릴레이션을 구성하는 속성들 중 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합
- 즉, 기본키로 사용할 수 있는 속성들을 말함
- 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 함
- 모든 튜플들에 대해 유일성, 최소성을 만족해야 함

<학생> 릴레이션에서 학번, 주민번호

 

기본키(Primary Key)

- 후보키 중에서 선택한 주키로 NULL 값이 될 수 없음
- 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
- 기본키로 저장된 속성에는 동일한 값이 중복되어 저장될 수 없음

<학생> 릴레이션에서 학번이나 주민번호, <수강> 릴레이션에서는 '학번+과목명' 조합

 

대체키(Alternate Key)

- 보조키라고도 함 

- 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말함

<학생> 릴레이션에서 학번을 기본키로 정의할 시 주민번호는 대체키가 됨 

 

슈퍼키(Super Key)

- 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키
- 유일성은 만족하지만 최소성은 만족시키지 못함

<학생> 릴레이션에서 '학번', '주민번호', '학번+주민번호',  '학번+주민번호+상명' 등으로 슈퍼키 구성 가능

 

외래키(Foreign Key)

- 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합

- 외래키는 참조되는 릴레이션의 기본키와 대응되어 참조 관계를 표현함

- 외래키로 지정되면 참조 릴리에션의 기본키에 없는 값은 입력할 수 없음

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

 

댓글

Designed by JB FACTORY