Functional Dependency 함수종속성 [DB]

Rudy·2023년 9월 4일
0

Functional Dependency

한 테이블에 있는 두 개의 속성 집합 사이의 제약

함수의 종속성

X 값에 따라 Y값이 유일하게(uniquely) 결정될 때
"X가 Y를 함수적으로 결정한다"
"Y가 X에 함수적으로 의존한다"

함수 종속 관계 판단 시 유의 사항

속성 자체의 특성과 의미를 기반으로 함수 종속성을 판단해야 함

  • 속성 값은 계속 변할 수 있으므로 현재 릴레이션에 포함된 속성 값만으로
    판단하면 안됨
  • 일반적으로 기본키와 후보키는 릴레이션의 다른 모든 속성들을 함수적
    으로 결정함
  • 기본키나 후보키가 아니어도 다른 속성 값을 유일하게 결정하는 속성은
    함수 종속 관계에서 결정자가 될 수 있음

구축하려는 DB의 attributes가 관계적으로 어떤 의미를 지닐지에 따라 FD들이 달라진다

Functional Dependency 종류

부분 함수 종속(PFD; Partial Functional Dependency)

  • 릴레이션에서 속성 집합 Y가 속성 집합 X의 전체가 아닌 일부분에도
    함수적으로 종속됨을 의미
  • 예) 고객이름은 {고객아이디, 이벤트번호}에 부분 함수 종속됨

    proper subset X의 proper subset은 X의 부분 집합이지만 X와 동일하지는 않음
    예를 들어 X= {사과,배,감}

    {사과,배},{감},{}는 모두 X의 proper subset 이다
    반면에 {사과,배,감}는 X의 proper subset 아니다

완전 함수 종속(FFD; Full Functional Dependency)

  • 릴레이션에서 속성 집합 Y가 속성 집합 X에 함수적으로 종속되어 있지만,
    속성 집합 X의 전체가 아닌 일부분에는 종속되지 않음을 의미
  • 일반적으로 함수 종속은 완전 함수 종속을 의미함
  • 예) 당첨여부는 {고객아이디, 이벤트번호}에 완전 함수 종속됨
profile
주니어 개발자

0개의 댓글