sun._.ny 2022. 7. 9. 21:02

 

 

키(Key)란?

데이터베이스에서 키 (Key) 는 조건에 만족하는 튜플을 찾거나, 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 기준이 되는 속성

 

* 튜플이란, 테이블의 행을 의미

 

 

 

 

 

 

 

유일성과 최소성

 

유일성 : 하나의 키값으로 하나의 튜플만을 유일하게 식별할 수 있어야 함

→ 문자 그대로 유일해야 한다는 특징

 

최소성 : 키를 구성하는 속성 하나를 제거하면 유일하게 식별할 수 없도록 꼭 필요한 최소의 속성으로 구성되어야 함

→ 키를 구성하는 속성의 갯수가 최소여야 한다는 특징

 

 

 

 

 

 

 

키의 종류

 

* 기본키

- 특정 튜플을 유일하게 구별할 수 있는 속성

- 후보키 중에서도 특별히 선정된 주키(Main Key)

- 유일성 O, 최소성 O

- 중복값 가질 수 없음 (기본키 주요 특징)

- NULL값 가질 수 없음 (기본키 주요 특징)

 

 

* 대체키

- 기본키를 제외한 나머지 후보키

- 보조키라고도 함

 

 

* 후보키

- 테이블을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합

- 유일성 O, 최소성 O

 

 

* 슈퍼키

- 유일성의 특성을 만족하는 속성 또는 속성들의 집합

- 최소성은 만족 X

- EX : 환자ID는 고유하기 때문에 슈퍼키가 될 수 있음. 나이, 직업 등은 중복된 값이 존재하기 때문에 슈퍼키가 될 수 없음.

→ (환자ID, 나이, 직업)은 환자ID가 각 튜플을 구별할 수 있기에 슈퍼키가 될 수 있음. 이때 유일성은 만족하지만, 최소성은 만족하지 못함.

 

 

* 외래키

- 다른 릴레이션(테이블)의 기본키를 그대로 참조하는 속성의 집합

 

※ 외래키가 필요한 이유?

for 데이터 무결성

→ 데이터 무결성이란, 데이터가 항상 정확한 값을 유지하려는 성질을 의미한다.

예를 들어 환자 테이블의 환자ID가 변경이 되었는데, 진단기록 테이블의 환자ID가 변경이 되지 않는다면 두 값은 서로 같은 값이어야 하는데 다른 값이 되어버린다. 이를 무결성이 깨졌다고 표현한다.