📓 Study/Tech Interview

KEY란 무엇인가요?

seongit 2021. 9. 21. 18:00

 

KEY란?

키는 튜플을 유일하게 식별할 수 있는 속성의 집합입니다.

(= 주어진 릴레이션(테이블)에서 모든 인스턴스 가운데 유일함을 보장해주는 하나 이상의 애트리뷰트 집합입니다.)

 

유일성?
튜플을 유일하게 식별하는 성질

최소성?
유일하게 식별할 수 있는 최소 구성의 성질

 

키는 크게 식별성과 참조성으로 구분할 수 있으며,

식별성에는 슈퍼키, 후보키, 기본키, 대체키가 있습니다.

참조성에는 외래키가 있습니다.

 

 

 

식별성

Super Key (= 슈퍼키)

슈퍼키는 튜플을 유일하게 구분하기 위해 한 개 이상의 속성들로 이루어진 키입니다.

유일성 O  최소성 X

 

최소성을 만족해서 찾아도 슈퍼키입니다.
유일성만 만족해서 찾아도 슈퍼키입니다.

 

예시

(학번, 주민등록번호, {학번,주민등록번호}, {학번,성명}, {학번,성명,학과})

 

 

Candidate Key (= 후보키)

기본키가 될 수 있는 후보이며, 슈퍼키 중에서 최소 슈퍼키

유일성과 최소성을 모두 만족해야 후보키가 된다.

두 개의 속성값으로 후보키를 구성할 수 있다

 

예시

(학번, 주민등록번호)

 

 

Primary Key (= 기본키 = 주식별자 = 주키 = PK)

후보키 중에서 대표로 튜플을 식별하기 위해 선택된 키를 의미하며,

기본키는 중복될 수 없고, NULL값이 올 수 없습니다.

 

후보키 안에 속해있기 때문에 유일성과 최소성을 모두 만족해야 합니다.

 

하나의 테이블에서는 무조건 기본키가 1개 이상 있어야 합니다.

 

예시

학번 또는 주민등록번호를 기본키로 설정할 수 있습니다.

 

Alternate Key (= 대체키)

후보키 중에서 기본키를 제외한 나머지 후보키

후보키 - 기본키 = 대체키

보조키라고도 합니다.

 

예시

기본키가 학번이라면 대체키주민등록번호

기본키가 주민등록번호라면 대체키학번

 


참조성

Foreign Key (= 외래키 FK)

외래키는 하나의 테이블에서 원하는 자료를 얻지 못하는 경우 다른 테이블을 참조하기 위해 사용되는 속성을 말하며,

외래 식별자라고도 합니다. (= 테이블들의 관계를 맺어주도록 하는 키)

 

찾아갈 때 하나의 결과만 나와야 합니다.

n:1의 관계가 있을 때 1로 찾아가야 합니다.

참조 릴레이션의 기본키와 같아야 합니다.

외래 키는 NULL값이 올 수 있습니다.

외래 키의 속성명과 참조 릴레이션의 기본키 속성은 달라도 무방하다.

 


 

식별 관계와 비식별 관계

식별 관계 : 외래키가 기본키인 경우
비식별 관계 : 외래키가 일반 속성인 경우