이론

[DB] Relation의 키(key)

Simon Yoon 2022. 5. 7. 23:31

Relation의 키(Key)

  • 각 tuple을 유일하게 식별할 수 있는 하나 이상의 속성 집합
  • 모든 relation은 key를 가짐
  • Relation instance는 계속 변화하므로 미래의 입력 값까지를 포함한 속성의 본질적인 의미를 고려하여 키 지정 여부를 결정

 

  • 후보키(Candidate Key: CK)
    • tuple을 유일하게 식별할 수 있는 속성들의 최소 집합
    • uniqueness와 minimality 조건을 모두 만족해야 함
      • 유일성 조건(uniqueness): relation에서 key로 지정한 속성 값의 조합은 tuple마다 모두 달라야 한다는 조건
      • 최소성 조건(minimality): relation에서 key로 지정한 속성의 개수를 최소화해야 한다는 의미
    • 결과적으로 모든 relation은 최소 하나 이상의 CK를 가짐

 

  • 슈퍼키(Super Key: SK)
    • tuple을 유일하게 식별할 수 있는 속성 집합
      • 식별을 위해 꼭 필요한 속성이 아니어도 포함할 수 있음
      • SK는 최소성 충족 여부는 관련이 없고 후보키의 유일성 조건만 만족하면 됨
    • relation 안에는 여러 CK가 있을 수 있고 모든 CK는 SK임
    • CK를 포함하는 속성 집합도 모두 SK가 됨

 

  • 기본키(Primary Key: PK)
    • tuple을 대표하도록 선정된 CK
    • 정적인 속성, NULL값은 가질 수 없고, 속성 개수가 작은 CK, 물리적 크기가 작은 CK

 

  • 대체키(Alternate Key: AK)
    • PK로 선정되지 못한 CK(따라서 PK는 하나지만 AK는 여러 개 존재할 수 있음)

 

  • 외래키(Foreign Key: FK)
    • 특정 relation의 PK를 참조하는 속성 집합
    • FK의 값은 참조되는 PK값 중에서 값 하나를 참조하여 취함

'이론' 카테고리의 다른 글

개인화를 넘어서 '초개인화'  (0) 2022.07.23
나이브 베이즈 분류모형(Naive Bayes Classifier)  (0) 2022.07.10
MapReduce  (0) 2022.04.30
[DB] 데이터베이스 개념  (0) 2022.04.23
[ADP] 시각화 디자인  (0) 2022.02.13