기본키primary_key

기본 키, 주 키, 프라이머리 키

대충 - 후보키 조건도 만족시키고, { 값이 unique해야 하고, ..} null이어서는 안된다 (NOT NULL), 그 중에서도 적절해야??... 릴레이션당 하나만?(ck(후보키candidate_key)와 비교 - ck가 하나이면 그게 바로 pk, 여러개이면 ck중에서 하나를 pk로 뽑는 것) - CHK

curr goto 키key#s-3

변시우

기본키(PK, primary key)
  • 튜플tuple을 대표하도록 선정된 후보키candidate_key.
    • 여러 후보키 중에서 하나를 기본키로 선택 지정.
    • 의미적으로 튜플을 가장 대표할 수 있고, 식별 수단으로도 적합한 후보키를 기본키로 선정하게 됨.

(후보키 중에서) 기본키를 선정하는 기준
  • 후보키가 하나일 경우, 그게 바로 기본키가 됨.
  • 후보키가 여러 개일 경우, 다음 기준을 충족하는 후보키(CK)를 우선적으로 고려하게 됨.
    • 값이 자주 변경되지 않는 정적인 속성으로 구성된 CK
    • 널null 값을 가질 수 없는 속성attribute으로 구성된 CK
    • 속성 개수가 작은 CK
    • 속성 값의 물리적 크기가 작은(숫자 크기가 작거나 문자열 길이가 짧은) CK

// from http://www.kocw.net/home/cview.do?cid=fc3d162212c224f5 5-2 12m


식별자,identifier의 일종임.