본문 바로가기
Database

함수 종속

by hseong 2023. 3. 19.

어느 시점에서든 릴레이션 내의 모든 튜플 값에 대하여 X 에 대한 Y 의 값이 하나라면 

  • X 가 Y 를 함수적으로 결정한다.
  • Y 가 X 에 함수적으로 종속되어 있다.

라고 한다. 이때, X를 결정자, Y를 종속자라 한다.

즉, 기본키는 각 속성들에 대한 값을 유일하게 결정할 수 있어야 한다.

 

함수 종속 관계를 판단할 때는 현재 시점에 릴레이션에 포함된 속성값만으로 판단해서는 안 된다.

릴레이션의 속성 값은 계속 변화하기 때문에 속성 자체가 가지고 있는 특성과 의미를 기반으로 판단해야 한다.

 

일반적으로 튜플을 유힐하게 구별하는 기본키와 후보키는 그 특성 때문에 릴레이션을 구성하는 다른 모든 속성들을 함수적으로 결정한다. 그러나 기본키나 후보키가 아니더라도 속성 Y 값을 유일하게 결정하는 속성 X는 함수 종속 관계에서 모두 결정자가 될 수 있다. 물론 여러 튜플에서 결정자의 값이 같으면 종속자의 값도 항상 같아야 한다.

 

함수 종속은 완전 함수 종속과 부분 함수 종속으로 나뉜다.

고객아이디 이벤트번호 당첨여부 고객이름

위와 같은 테이블이 있을 때, 함수 종속 관계는 아래와 같이 나타난다.

  • 고객아이디 -> 고객이름
  • {고객아이디, 이벤트번호} -> 당첨여부
  • {고객아이디, 이벤트번호} -> 고객이름

이 경우 고객이름은 고객아이디에 완전 함수 종속 되어 있으며, {고객아이디, 이벤트번호} 속성 집합에 부분 함수 종속 되어 있다. 당첨여부는 {고객아이디, 이벤트번호}에 완전 함수 종속되어 있다 한다.