Database: 슈퍼키, 후보키, 기본키

임동혁 Ldhbenecia·2024년 10월 13일

DataBase

목록 보기
14/15
post-thumbnail

데이터베이스 과목을 수강하며, 헷갈리는 키 3개에 대한 개념을 간략하게 정리한다.

슈퍼키 (Superkey):

튜플(행)을 고유하게 식별할 수 있는 애트리뷰트(attribute) 집합이다.
슈퍼키는 최소한의 속성을 포함하지 않아도 되며, 하나 이상의 애트리뷰트로 구성될 수 있다.

후보키 (Candidate Key):

슈퍼키의 하위 집합으로, 유일성과 최소성을 모두 만족하는 애트리뷰트 집합이다.
즉, 후보키는 튜플을 유일하게 식별할 수 있는 최소한의 애트리뷰트로 구성된다.

기본키 (Primary Key):

여러 후보키 중에서 선택된 하나의 키로, 데이터베이스에서 각 튜플을 유일하게 식별하는 데 사용된다. 기본키는 NULL 값을 가질 수 없으며, 고유해야 한다.

과정

데이터베이스에서 먼저 슈퍼키를 정의한다.
그 중에서 유일성 및 최소성을 만족하는 애트리뷰트 집합을 찾아 후보키를 뽑는다.
후보키 중에서 하나를 선택하여 기본키로 지정한다.

예시

R(A,B,C)에서 A와 B가 튜플을 각각 고유하게 식별한다고 가정할 때:

  • 슈퍼키: {A}, {B}, {A, B}, {A, C}, {B, C}, {A, B, C} (모두 튜플을 식별할 수 있음)
  • 후보키: {A}, {B} (최소성을 만족)
  • 기본키: {A} 또는 {B} 중 하나를 선택하여 기본키로 지정

0개의 댓글