Functional Dependency
참고 자료
1. Functional Dependency 란?¶
- 한 테이블에 있는 두 개의
attributes set사이의constraint - 집합 X 의 값에 따라 집합 Y 의 값이 유일하게 결정된때
'X 가 Y 를 함수적으로 결정한다. Y 가 X 에 함수적으로 의존한다 ' 라고 부르며 두 집합 사이의 이러한 제약 관계를 Functional Dependency (FD) 라고 부른다.
X = {empl_id} Y = {empl_name, birt_date, position, salary}
empl_id 값에 따라 나머지 모든 필드의 값은 의미적으로 unique 하게 결정된다.
2. FD 주의 사항¶
- 테이블의 특정 순간, 상태가 아니라 의미적으로 파악 해야 한다.
- player
| id | name | team_id | backnumber |
|---|---|---|---|
| 1 | messi | 2 | 10 |
| 2 | sonny | 105 | 7 |
| 3 | ronaldo | null | null |
{name} {team_id} 처럼 보이지만 id 3 번과 동명이인인 브라질의 Ronaldo 선수는 team_id 값이 있을 수 있다!
3. FD 예시¶
{std_id}{stu_name, birth_date, addr}{class_id}{class_name, year, semester, credit}{stu_id, class_id}{grde}{bank_name, bank_account}{balance, open_date}
4. FD 의 종류¶
0. {} ->Y¶
항상 Y 의 값이 일정하다면 공집합 즉, 아무 attribute 없이도 Y 값을 결정할 수 있고 이러한 FD 를 {} Y 처럼 표현 할 수 있다.
1. Trivial FD, Non-trivial FD¶
Y 가 X 의 subset 이라면 당연히 X Y 가 성립하고 이런 FD 를 trivial FD 라 부른다.
그렇지 않은 FD 는 non-trivial FD 라 부른다.
2. Partial FD, Full FD¶
X 의 proper subset 으로도 FD 가 성립하면 partial FD 라 부르고 그렇지 않다면 full FD 라 부른다.
Last update:
February 27, 2023
Created: December 21, 2022
Created: December 21, 2022
