본문 바로가기
개발/Database

키(Primary Key, Foreign Key)의 종류와 함수적 종속

by BellOne4222 2024. 2. 4.
키의 종류 (Primary Key, Foreign Key)
 
  • 후보키(Candidate Key)
    • 테이블을 구성하는 열 중에서 유일하게 식별 할 수 있는 열
  • 기본키(Primary Key)
    • 테이블에서 유일하게 식별하기 위해 사용하는 키
  • 대체키(Alternate Key)
    • 후보키 중 기본키를 제외한 나머지 후보키
  • 외래키(Foreign Key) 
    • 테이블 내의 열 중 다른 테이블의 기본키를 참조하는 열
    • Parent Key
      • 외래키가 참조하는 테이블의 기본키
    • Parent Table
      • Parent Key를 가진 테이블

 

  • 외래키를 사용하는 이유
    • 외래키로 설정을 하면 데이터를 삭제할 때, 해당 테이블을 참조하는 테이블에서 관련 데이터를 삭제 할 수 있다.
    • 참조 무결성
      • 외래키는 참조하는 테이블에 실제로 있는 값만 사용 할 수 있다.

 

  • 슈퍼키(Super Key)
    • 합성키라고도 한다.
    • 하나의 열이 키로 사용되는 것이 아닌, 2개 이상의 열이 합쳐서 기본키로 사용하는 것이다.

 

함수적 종속(완전 함수적 종속, 이행적 함수 종속, 부분적 함수 종속)

  • 함수적 종속(Functional Dependency)
    • 어떤 릴레이션 R이 있을때 X와 Y를 각각 속성의 부분집합이라고 가정하면, 여기서 X의 값을 알면 Y의 값을 바로 식별할 수 있고, X의 값에 Y의 값이 달라질 때, Y는 X에 함수적 종속이라고 한다.
    • X는 결정자, Y는 종속자라고 한다.
    • X -> Y

 

완전 함수적 종속(Full Functional Dependency)

  • 종속자가 기본키에만 종속되며, 기본키가 여러 속성으로 구성되어 있을 경우, 기본키가 구성하는 모든 속성이 기본키의 부분집합에 종속된 경우

 

이행적 함수 종속(Transitive Functional Dependency)

  • 릴레이션에서 X,Y,Z라는 3개의 속성 있을 때, X->Y, Y->Z이란 종속 관계가 있을 경우, X->Z가 성립될 때 X를 알면 Y를 알고, 그를 통해 Z를 알 수 있는 경우

 

부분적 함수 종속(Partial Functional Dependency)

  • 릴레이션에서 종속자가 기본키가 아닌 다른 속성에 종속되거나, 기본키가 여러 속성으로 구성되어 있을 경우, 기본키를 구성하는 속성 중 일부만 종속되는 경우