본문으로 바로가기

데이터베이스 릴레이션 키 정리

category 데이터베이스 2018. 11. 30. 18:33

수퍼키 : 특정 투플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트들의 집합


후보키 : 각 투플을 고유하게 식별하는 최소한의 애트리뷰트들의 모임


* 수퍼 키와 후보 키의 유일한 차이점은 "최소성"이 존재하냐의 여부이다



복합키 : 두 개 이상의 애트리뷰트로 구성되는 후보 키를 복합 키라고 한다


기본키 : 한 릴레이션에 후보 키가 두 개 이상 있으면 이들 중 하나를 기본 키로 선정한다(PK를 만들면 INDEX가 생성된다)


* 단일 PK/UK의 경우 단일컬럼에 대해서만 중복 금지를 하지만 다중 PK/UK는 설정된 다중컬럼을 합쳐서 중복금지를 한다


대리키 : 자연스러운 기본 키를 찾을 수 없는 경우에는 레코드 번호와 같이 종종 인위적인 키 애트리뷰트를 릴레이션에 추가할 수 있는데, 이런 키를 대리 키라고 한다


* 대리키 

장점 : 조인을 여러번 하지 않아서 편하다(여러 번 조인을 하면 느려진다)

단점 : 컬럼 가독성이 떨어진다


대체키 : 대체 키는 기본 키로 선정되지 않은 후보 키를 말한다


외래키 : 어떤 릴레이션의 기본 키를 참조하는 애트리뷰트이다