키(Key)의 개념과 종류

DB 2016. 4. 24. 18:24

[키(Key) 란?]

: 키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나, 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 애트리뷰트를 말합니다


[키의 종류]

1) 기본 키(Primary Key)

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

- 기본 키는 후보 키의 성질을 갖습니다.

- 유일성과 최소성을 가지며 튜플을 식별하기 위해 반드시 필요한 키입니다.

- 기본 키는 NULL값을 가질 수 없습니다. (즉, 튜플에서 기본 키로 설정된 속성에는 NULL값이 있어서는 안됩니다.)


2) 후보 키(Candidate Key)

- 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합입니다.

- 후보 키는 유일성과 최소성을 모두 만족합니다.


* 유일성(Unique) : 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 합니다.

* 최소성(Minimality) : 모든 레코드들을 유일하게 식별하는 데 꼭 필요한 속성으로만 구성되어야 합니다.

예시) <학생>릴레이션에서 '학번'이나 '주민번호'는 다른 레코드를 유일하게 구별할 수 있는 기본 키로 사용할 수 있으므로 후보 키입니다. '학과' 등은 다른 레코드와 중복 될 가능성이 있으므로 기본 키로 사용할 수 없습니다.


3) 대체 키(Alternate Key)

- 대체 키는 후보키 중에서 선정된 기본 키를 제외한 나머지 후보 키를 의미합니다.


4) 슈퍼 키(Super Key)

- 복합 키 또는 연결 키라고 합니다.

- 기본 키로 사용되며 2개 이상의 열을 1개의 후보 키로 만들어 기본키로 활용되는 키입니다.

- 슈퍼 키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키를 말합니다.

- 릴레이션을 구성하는 모든 튜플 중 슈퍼 키로 구성된 속성의 집합과 동일한 값을 나타나지 않습니다.

- 슈퍼 키는 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못합니다.


5) 외래 키(Foreign Key)

- 외래 키는 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미합니다.

- 외래 키는 릴레이션 간의 관계를 표현할 때 사용합니다.

- 한 릴레이션에 속한 속성 A와 참조 릴레이션의 기본키인 B가 동일한 도메인상에서 정의 되었을 때의 속성 A를 외래 키라고 합니다.

- 외래 키는 참조 릴레이션의 기본 키와 동일한 키속성을 가집니다.

예시) <수강>이라는 릴레이션이 <학생>릴레이션을 참조하고 있을 때, <학생>릴레이션의 "학번"이 기본 키라고 가정하겠습니다. 이 때, <수강>릴레이션의 "학번"은 외래 키가 됩니다.


WRITTEN BY
SiriusJ

,