본문 바로가기

ComputerScience/Database

데이터베이스의 여러 키들 (Database Key)

1 수퍼키(superkey)
  개체 집합에서 한 개체를 유일하게 식별할 수 있도록 해주는
  하나 혹은 그 이상의 속성들의 집합.

2 후보 키(candidate key)
  수퍼키는 수퍼키를 포함하는 속성들의 집합도 다시 수퍼키가 될 수 있는데,
  이는 별로 중요하지 않다.
  우리에게 필요한 것은 한 릴레이션에서 유일하게 한 튜플을 식별할 수 있는 키(key)
  중에서도 최소한의 속성들의 집합으로 되어 있는 후보키(canditate key)이다.

3 주 키(primary key)
  개체들을 구별하기 위한 주요 수단으로 데이터베이스 설계자에 의해 골라진 후보키(candidate key).
  
  예를 들어 학생들의 데이블의 주민번호와 학번이 같이 있다.
  여기서 주민번호나 학번으로 모든 튜플이 유일하게 식별 가능 하므로
  둘 다 candidate key 이다.
  그러나 데이터베이스 설계자가 목적을 생각하여 학번으로 튜플을 구별하겠다고 선언한 것이
  primary key라고 할 수 있겠다.