데이터베이스 함수종속

 데이터베이스 함수종속



함수 종속

이상현상을 해결해나가는 과정을 정규화라고 합니다. 정규화는 여러가지 단계에 걸쳐서  정규화 과정을 거치게 되는데, 이 때 각각의 단계를 정규형이라고 합니다. 각각의 정규형들은 특정 함수 종속들을 제거하는것으로 정규화 과정을 진행합니다.

종속된다는 것은 하나의 속성이 다른 하나의 속성을 결정한다는 의미 입니다.

"X가 Y를 함수적으로 결정한다"

- Y의 값은 X에 값에 의해서 결정됨

- "Y가 X에 함수적으로 종속되어 있다"와 같은 의미

- X → Y 로 표현 (X는 결정자, Y는 종속자)

고객 릴레이션에 존재하는 함수 종속 관계

※ 고객아이디가 기본키(PK: 프라이머리 키)

고객아이디 → 고객이름

고객아이디 → 등급

고객아이디 → (고객이름, 등급)

고객아이디는 고객이름과 등급 속성을 결정 or 고객이름과 등급 속성은 고객아이디에 종속 

함수 종속 다이어그램

함수 종속 관계를 E-R 다이어그램으로 도식화하여 표현한것입니다. 화살표를 받는 쪽이 종속자이고 화살표가 시작하는 부분이 결정자 입니다.

함수 종속을 판단 할 때에는 한 릴레이션을 구성하고 있는 여러 속성들 중에서 속성 자체에서 가지는 특성이나 의미를 기반으로  함수 종속성을 판단해야 합니다. 속성값은 계속 변할 수 있기 때문에 현재 릴레이션에 포함된 속성 값만으로 판단하면 안됩니다.

일반적으로 기본키와 후보키는 릴레이션의 다른 모든 속성들을 함수적으로 결정합니다. 혹은 기본키나 후보키가 아니어도 다른 속성 값을 유일하게 결정하는 속성도 함수 종속 관계에서 결정자가 될 수 있습니다.

완전 함수 종속(Full Function Dependency)

함수 종속 관계를 가지고 있는 복합 속성일 때에만 대한 것입니다. 복합속성으로 집합을 이루고 있을 때 가지는 종속 관계가 집합을 이루지 않았을 때에는 성립되지 않는다는 성질을 완전 함수 종속이라고 합니다. 당첨 여부는 {고객아이디, 이벤트번호}에 완전 함수 종속이 됩니다. 두가지의 속성으로 묶여 있을 때에만 영향을 미치게 되고 두 속성이 분리가 되었을 때에는 당첨여부에 대한 종속 관계가 성립되지 않습니다.

부분 함수 종속(Partial Function Dependency) 

복합속성이 가지고 있는 함수 종속 관계가 복합 속성이 아닌 일부 부분집합인 속성에서도 동일한 함수 종속 관계를 가지면 부분 함수 종속이라고 합니다.

고객이름은 {고객아이디, 이벤트번호} 속성의 전체가 아닌 일부분인 부분집합일 때에나 복합 속성일 때에도  함수적으로 종속이 될 수 있기 때문에 부분 함수 종속이라고 합니다.

※ 결정자와 종속자가 같거나 결정자가 종속자를 포함하는 당연한 함수 종속 관계는 고려하지 않음

댓글

이 블로그의 인기 게시물

[정보처리기사] OSI 7계층 정리

블로그스팟 상위노출 시작하기

데이터베이스 데이터 정의어(DDL), 자료형(데이터 타입)