데이터베이스 키(KEY)

키(KEY)

key는 데이터베이스에서 테이블에 있는 각각의 데이터(행)를 고유하게 구별하거나 연결하는 데 사용되는 중요한 요소입니다. 쉽게 말하면, 이 데이터가 누구 건지 정확히 찾을 수 있게 해주는 기준이라고 생각하시면 됩니다.

 

한 릴레이션에서 중복되는 튜플들은 존재할 수 없습니다. 그러므로 각각의 튜플에 포함된 속성들 중 어느 하나는 값이 달라져야 하고 각각의 튜플을 식별하는 역할을 키(key)가 담당합니다. 일반적으로 키는 단일 속성으로 지정하지만 아래의 그림처럼 못하는 경우에는 두 개 이상의 속성을 묶어 키로 사용합니다. 

예를 들어 아래 릴레이션에서는 ( 고객번호, 도서번호 ) 나 ( 고객번호, 주문일자 ) 와 같은 집합을 키로 사용할 수 있습니다.

슈퍼키

튜플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합

 

튜플을 식별할 수 있으면 모두 슈퍼키가 될 수 있습니다. 아래와 같은 고객 릴레이션의 경우에는 이름이나 주소는 동일한 값이 올 수 있고, 핸드폰의 경우에는 핸드폰이 없는 사람도 있을 수가 있으므로 고객번호 또는 주민번호가 슈퍼키가 될 수 있습니다. 그러므로 고객 릴레이션은 고객번호 또는 주민번호를 포함한 모든 속성의 집합이 슈퍼키가 될 수 있습니다.

후보키

튜플을 유일하게 식별할 수 있는 속성의 최소 집합

 

아래와 같이 주문 릴레이션에서 단일 속성으로는 튜플을 유일하게 식별하는 것이 불가능하므로 2개의 속성을 합한( 고객 번호, 도서번호 )가 후보키가 되며 이렇게 2개 이상의 속성으로 이루어진 키를 복합키라고 합니다.

기본키

여러 후보키 중 하나를 선정하여 대표로 삼는 키

 

후보키가 하나뿐이라면 그 후보키를 기본키로 사용하면 되고, 후보키가 여러개라면 릴레이션의 특성을 반영하여 하나를 선택하면 됩니다. 아래의 도서 릴레이션에서는 도서번호 또는 도서이름이 후보키가 되고, 두 속성 중 하나의 속성을 기본키로 선정하면 됩니다. 만약 릴레이션 스키마를 표현할 때 기본키는 밑줄을 그어 표시합니다. 도서 릴레이션의 경우에는 도서(도서번호, 도서이름, 출판사, 가격) 처럼 표시하면 됩니다.

대체키

기본키로 선정되지 않은 후보키

 

대체키는 기본키로 선정되지 않은 후보키로 고객 릴레이션에서 도서번호와 도서이름 중 도서번호를 기본키로 정하면 도서이름이 대체키가 됩니다.

외래키

다른 릴레이션의 기본키를 참조하는 속성

 

위에서 키는 관계를 맺는데 활용될 수 있다고 하였는데, 외래키가 바로 그런 경우입니다. 주문 릴레이션에서 우리는 고객 릴레이션의 기본키인 고객번호와 도서릴레이션의 기본키인 도서번호를 참조하여 쓰는데 주문릴레이션에서는 고객번호와 도서번호가 외래키가 되고, 주문번호가 기본키가 됩니다.

요약

 

'데이터베이스 이론' 카테고리의 다른 글

데이터 모델  (2) 2024.12.27
훑어보는 데이터베이스 설명  (0) 2024.12.27