본문 바로가기

CS 과목(CS科目)/데이터 베이스(データベース)

22.함수 종속(Functional Dependency)

위의 정의를 따라도 되지만, 

나는 x의 값에 대응하는 y의 값이 오로지 1개만 있을 때, y는 x에 종속된다 or x는 y를 결정한다 라고 정의를 하겠다. 

종속 관계를 위 그림의 기호로 나타낼 수가 있다. 

(x에 대한 y값이 오로지 1개만 존재하는 관계)

Jinho라는 x값에 대해 y값이 2개가 존재하므로, 위 경우는 FD가 존재하지 않는다. 

위와 같이, 테이블의 특정 부분과 특정 시점의 테이블을 보고 FD를 생각해서는 안된다. 

테이블의 스키마(Schema)를 보고 의미적으로 FD가 존재하는지 파악해야 한다. (아래 참조)

위 경우는 FD이다. 

위 경우는 FD가 아니다. 

왜냐하면 empl_id에 대해서 dept_id가 2개 이상 존재할 수가 있기 때문이다. 

1. x->y라고 해서, 반드시 y->x가 존재하는 것은 아니다.

2. x->y라고 해서, y->x가 존재하지 않는 것도 아니다. 

ex) empl_id -> empld_name : 반대는 성립이 안됨

ex) empl_id->Social Security Number : 반대가 성립이 됨. 

이 부분은 교과서에서도 잘 다루지 않는다고 함.(아래의 예에서 위의 의미를 살펴보자)

x가 어떠한 상황이여도, y의 값은 항상 일정할 때 위 FD를 사용!!!

x값 중, 하나 이상을 제거하여도 y를 결정할 수 있는 경우!!!

x중 하나라도 제거를 하면, y 값이 결정되는 않는 경우!!