■ 릴레이션 키 총 정리
• 릴레이션의 키는 각 투플을 고유하게 식별할 수 있는 하나 이상의 애트리뷰트들의 모임이다.
• 일반적으로 키는 두 릴레이션을 서로 연관시키는 데 사용된다.(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 |