Learn business/Database

릴레이션 키 총 정리


릴레이션 키 총 정리

릴레이션의 키는 각 투플을 고유하게 식별할 수 있는 하나 이상의 애트리뷰트들의 모임이다.

일반적으로 두 릴레이션을 서로 연관시키는 데 사용된다.(RDB의 특징이다. 계층, 네트워크 데이터베이스는 레코드들로 서로 관계를 나타냄)

릴레이션의 투플을 접근하는 속도를 높이기 위해 키에 인덱스를 만드는데, 키가 작을수록 인덱스의 크기가 줄어들고 인덱스를 검사하는 시간이 단축된다.


1. 수퍼 키

수퍼 키는 한 릴레이션 내의 특정 투플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트들의 집합이다.

신용카드 회사의 고객 릴레이션에서 (신용카드번호, 주소) 또는 (주민등록번호, 이름) 또는 (주민등록번호)는 모두 수퍼 키가 될 수 있다.

또는 신용카드번호나 주민등록번호를 포함하는 어떠한 애트리뷰트들의 집합도 수퍼 키이다.

슈퍼 키의 문제점은 투플들을 고유하게 식별하는 데 꼭 필요하지 않은 애트리뷰트들을 포함할 수 있다는 것이다. ex) 주소, 이름 등

 

2. 후보 키

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

즉 후보 키를 구성하는 애트리뷰트들 중에서 어느 한 애트리뷰트라도 빼면 고유하게 식별하는 능력을 상실한다.

예를들어 (신용카드번호, 주소)는 신용카드 회사의 고객 릴레이션의 후보 키가 아니지만 (신용카드번호)는 후보키이다.

모든 릴레이션에는 최소 한 개 이상의 후보 키가 있다.

후보 키도 두 개 이상의 애트리뷰트로 이루어질 수 있으며 이런 경우에 복합 키라고 부른다.

 

3. 기본 키

한 릴레이션에 후보 키가 두 개 이상 있으면 데이터베이스 설계자 또는 관리자가 이들 중에서 하나를 기본 키로 선정한다.

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

기본 키는 한 릴레이션 내의 모든 투플을 고유하게 식별할 수 있어야 하므로 널값이나 중복된 값을 가질 수 없다.

 

4. 대체 키

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

 

5. 외래 키

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

외래 키는 관계 데이터베이스에서 릴레이션들 간의 관계를 나타내기 위해서 사용된다.

외래 키 애트리뷰트는 참조되는 릴레이션의 기본 키와 동일한 타입을 가져야 한다.

외래 키는 자체 릴레이션을 참조할 수 있다.

다른 릴레이션의 기본 키를 참조하는 외래 키

자체 릴레이션의 기본 키를 참조하는 외래 키

기본 키의 구성요소가 되는 외래 키




'Learn business > Database' 카테고리의 다른 글

무결성 제약조건 정리  (0) 2017.03.24
식별관계와 비식별관계  (0) 2017.03.24
ANSI/SPARC 3단계  (0) 2017.03.23
관계 데이터 모델  (2) 2017.03.23
DBMS의 언어  (0) 2017.03.23