[DB] 함수(적) 종속성

함수(적) 종속성

정규화 과정에서 고려해야 하는 속성들 간의 관련성

결정자, 종속자

위 그림에서 사원번호는 결정자 사원이름, 주소, 전화번호는 종속자이다.

아래와 같이 정의해볼 수 있다.

사원번호가 사원이름을 함수적으로 결정한다.
사원이름이 사원번호에 함수적으로 종속되어있다

유의점

위와 같은 함수 종속 관계를 판단할 때 유의할 점은 현재 시점에 릴레이션에 포함된 속성 값만으로 판단하면 안 된다는 것이다. 릴레이션에서 속성 값은 계속 변할 수 있기 때문에 속성 자체가 가지고 있는 특성과 의미를 기반으로 판단해야 한다.(즉 미래 속성도 고려해야 한다는 말과 같다.)

부분함수 종속

고객아이디 -> 고객이름

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

{고객아이디, 이벤트번호} -> 고객이름

위 관계에서

{고객아이디, 이벤트번호}에 종속되어 있는 고객 이름은 {고객아이디, 이벤트번호}의 일부분인 고객 아이디에도 종속되어 있다.

이런 경우 고객이름 속성은 {고객아이디, 이벤트번호} 속성 집합에 부분 함수 종속 되어 있다고 한다.

반면 당첨여부 속성은 일부분이 아닌 속성 집합 전체에 종속 되어 있기 때문에 이런 경우에는 당첨여부 속성은 {고객아이디, 이벤트번호} 속성 집합에 완전 함수 종속 되어 있다고 한다.