자료출처: MS SQL 기반 데이터베이스 배움터 (생능출판사) http://www.yes24.com/Product/Goods/7489842?OzSrank=1
데이터베이스 배움터 - YES24
이론과 실무가 조화된 최적의 데이터베이스 책데이터베이스를 제대로 활용하는 데 반드시 필요한 데이터베이스의 기본적인 개념 및 이론을 이해하기 쉽게 설명한 책이다. 이와 함께 활용 기술
www.yes24.com
후보 키(candidate key)는 각 투플을 고유하게 식별하는 최소한의 애트리뷰트들의 모임이고, 기본 키는 한 릴레이션 안에 키가 2개 이상 있을 때 데이터베이스 설계자 또는 데이터베이스 관리자가 이들 중에서 기본 키로 선정하는 하나의 키이다. 즉, 후보 키 중에 하나가 기본 키(primary key)로 선정이 되고 기본 키가 아닌 나머지 키들이 생기는 것이다. 이렇게 기본 키로 선정되지 않은 후보 키를 대체 키(alternate key)라고 한다.
위 주제에서 학번을 기본 키로 하고 있다. 그러나 개인정보이기 때문에 잘 알 수 없으므로 다른 항목을 키로 선택해야 한다. 아래에 학번, 과목번호, 학점 애트리뷰트로 구성된 수강 릴레이션이 있다.
하나만 선정이 되는 기본 키와는 달리, 후보 키는 두 개 이상의 애트리뷰트로 이루어질 수 있다. 특히 한 학생이 여러 과목을 수강하여 학번이 중복되어 사용될 수 있는 수강 릴레이션의 경우, 그 학생이 수강하는 과목까지 확인하여 각 투플들을 고유하게 식별하게 된다. 수강 릴레이션에서 두 개의 애트리뷰트가 모인 (학번, 과목번호)가 후보 키가 된다고 할 수 있다. 이런 경우에 복합 키(composite key)라고도 부른다. 이처럼 한 학생이 여러 과목을 수강할 수도 있고, 각 과목마다 여러 학생이 수강할 수 있기 때문에 두 개 이상의 애트리뷰트를 후보 키로 놓기도 한다.
이처럼 후보 키는 각 투플을 고유하게 식별하기 때문에, 고유하다는 속성을 갖는 것이 중요하다. 이는 사용 가능한 후보 키와 사용 불가능한 후보 키를 가르기도 한다. 이에 대한 예시로 학번과 이름, 이메일로 구성된 학생 릴레이션이 있다.
여기서 이름과 이메일 중 이메일은 후보 키가 될 수 있지만, 이름은 후보 키가 될 수 없다.
현재 제시된 투플마다 이름이 다 달라서 후보 키가 될 수 있을 것 같지만, 이름은 일반적으로 고유하지 않다. 동명이인 등의 이유로 같은 이름에 다른 사람을 나타낼 수 있으므로 이름은 후보 키가 될 수 없다. 반면 이메일은 한 사람이 여러 개의 이메일을 가질 수는 있어도, 하나의 이메일이 여러 사람을 가리키지는 않는다. 즉, 인터넷 상에서 모든 이메일 주소는 고유하다고 할 수 있다. 그렇기 때문에 학번과 더불어 이메일만이 후보 키로 사용이 가능하다.
위 주제에서 학번을 기본 키로 하고 있다. 그러나 개인정보이기 때문에 잘 알 수 없으므로 다른 항목을 키로 선택해야 한다. 아래에 학번, 과목번호, 학점 애트리뷰트로 구성된 수강 릴레이션이 있다.
'데이터 [Data] > 데이터베이스론' 카테고리의 다른 글
데이터베이스론 보고서 6 : ER 모델이 개선된 것 + 각 특징 (0) | 2021.07.13 |
---|---|
데이터베이스론 보고서 5 : Join을 할 때 사용되는 제약조건 (0) | 2021.07.12 |
데이터베이스론 보고서 4 : 데이터 마이닝 (0) | 2021.07.11 |
데이터베이스론 보고서 2 : 외래 키가 릴레이션에서 참조하는 관계를 정리하기 (0) | 2021.07.09 |
데이터베이스론 보고서 1 : 현재 데이터베이스 상품을 조사하기 (0) | 2021.07.08 |
댓글