functional dependency
JeongSeulho
2025년 01월 19일
준비중...
클립보드로 복사
functional dependency(함수적 종속성)
X라는 집합의 값에 따라Y집합이 유일하게 결정될 때
다음과 같이 말하거나 표현가능
X가Y를 함수적으로 결정한다.
Y가X에 함수적으로 의존한다.
X->Y
FD 파악하기
- 테이블의 스키마를 보고 의미적으로 파악
- 테이블의 상태를 보고 파악하면 안된다.
- 특정 상태(순간)에
{empl_name} -> {birth_date}가 성립하더라도 함수적 종속성이 아님
FD 의미적으로 파악
- FD는 상황과 정책, attribute사이 관계에 따라 달라진다.
- 위와 같은 집합에서 임직원이 하나의 부서에만 속한다면 =>
X->Y - 임직원이 여러 부서에 속할 수 있다면 =>
X->Y가 아님
역 성립 여부
X->Y가 성립한다고Y->X가 항상 성립하는 것은 아님{empl_id} -> {empl_name}이 성립하더라도 동명이인이 있는 경우{empl_name} -> {empl_id}는 성립하지 않음
{} -> Y의 의미
- 공집합 -> Y이라는 것은
Y가 항상 같은 값을 가진다는 것을 의미
trivial FD
X->Y가 성립할때,Y가X의 부분집합인 것
trivial FD 예시
{a, b, c} -> {a, b}
{a, b, c} -> {a, b, c}
non-trivial FD
X->Y가 성립할때,Y가X의 부분집합이 아닌 것
non-trivial FD 예시
{a, b, c} -> {b, c, d}
{a, b, c} -> {d, e}
겹치는 속성이 하나도 없다면non-trivial FD인 동시에completely non-trivial FD
partial FD
X->Y가 성립할때, 어떤 1개의X'(proper subset ofX)에 대해서X'->Y가 성립하는 경우- proper subset of
X는X의 부분집합이지만X와 같지 않은 것을 지칭
partial FD 예시
{empl_id, empl_name} -> {birth_date}인 경우
{empl_id} -> {birth_date}도 성립하므로
{empl_id, empl_name} -> {birth_date}는 partial FD
full FD
X->Y가 성립할때, 모든 proper subset ofX에 대해서X'->Y가 성립하지 않는 경우
full FD 예시
{stu_id, class_id} -> {grade}인 경우
{stu_id},{class_id},{}에 대해서{grade}를 유일하게 결정하지 못함
따라서{stu_id, class_id} -> {grade}는 full FD