-
키(key)란 무엇인가?CS지식/데이터베이스 2021. 6. 1. 23:01
오늘은 릴레이션의 키(key)와 무결성 제약조건에 대해 정리해보려고 한다.
먼저, 릴에이션에 사용되는 키(key)가 무엇인지 알아보자.
보통 키라는 단어를 쓸 때를 생각해보면 자물쇠를 여는 키나 자동차 키를 생각할 수 있다.
이러한 실생활의 예를 떠올리면 A 자물쇠만 풀 수 있는 A키가 있고 B 자물쇠만 풀 수 있는 B키가 있다.
그리고 A키로 B자물쇠를 열 수 없을테고 B키로 A 자물쇠를 없는게 키의 특징이다.
이처럼 키(key)라는 것은 무언가를 식별하는 고유한 식별자(identifier)기능을 한다.
릴레이션에서 사용되는 키는 대표적으로 수퍼키, 후보키, 기본키, 대체키, 외래키가 있다.
그러면 각각의 키에 대해 자세히 알아보자.
수퍼키(super key)는 하나의 릴레이션을 구성하는 속성들 중에서 각 튜플을 유일하게 식별할 수 있는 하나 또는 그 이상의 속성들의 집합이다.
여기서 수퍼키와 같이 알아야할 개념은 유일성이라는 것이다.
유일성은 하나의 키 값으로 하나의 튜플을 식별할 수 있는 것을 말하는데 수퍼키는 이 유일성을 따른다.
후보키(candidate key)는 릴레이션을 구성하는 속성들 중에서 각 튜플을 유일하게 식별할 수 있는 최소한의 속성들의 집합이다.
후보키는 유일성과 함께 최소성을 따른다.
최소성은 모든 튜플들을 유일하게 식별할 수 있는 최소한의 속성들의 집합을 의미한다.
즉, 후보키는 수퍼키 중에서 최소성을 만족하는 키를 의미하기도 한다.
기본키(primary key)는 여러 후보키 중 하나를 선택하여 튜플을 식별하는데 기준으로 사용하는 키를 의미한다.
선택된 기본키는 하나의 릴레이션 내 모든 튜플들을 유일하게 구별할 수 있어야 하므로 기본키로 정의된 속성은 NULL이나 중복된 값을 가지면 안된다.
대체키(alternate key)는 하나의 릴레이션에서 후보키가 두개 이상일때 그 중 하나를 기본키로 사용하고 남은 후보키들을 의미한다.
외래키(foreign key)는 릴레이션 간의 관계를 맺는데 사용하는 키로 한 릴레이션이 다른 릴레이션의 기본키를 참조하는 속성을 말한다.
외래키로 사용하는 속성은 참조하는 릴레이션의 기본키와 동일한 도메인을 가져야한다.
하지만 참조하는 릴레이션의 기본키 이름과 외래키의 이름은 달라도 상관없다.
'CS지식 > 데이터베이스' 카테고리의 다른 글
ER 모델이란 무엇인가? (0) 2021.06.07 관계 대수란 무엇인가? (0) 2021.06.04 데이터 모델이란 무엇인가 (0) 2021.05.29 데이터베이스 관리 시스템(DBMS)란 무엇인가 (0) 2021.05.26 데이터베이스란 무엇인가(With 기초가 튼튼한 데이터베이스) (0) 2021.05.23