CS/DB

[DB] 함수적 종속성

겜도리도리 2022. 5. 26. 03:26
반응형

함수적 종속성 개요

함수적 종속성은 정규화 이론의 핵심이다.

릴레이션의 애트리뷰트들의 의미로부터 결정된다.

릴레이션 스키마에 대한 주장이지, 릴레이션의 특정 인스턴스에 대한 주장이 아니다.

릴레이션의 가능한 모든 인스턴스들이 만족해야 한다.

실세계에 대한 지식과 응용의 의미를 기반으로 어떤 함수적 종속성들이 존재하는가를 파악해야 한다.

함수적 종속성은 제2정규형부터 BCNF까지 적용된다.

결정자

어떤 애트리뷰트의 값은 다른 애트리뷰트의 값을 고유하게 결정할 수 있다.

사원 릴레이션에서 사원번호는 사원 이름을 고유하게 결정한다.

주소는 사원 이름을 고유하게 결정하지 못한다.

결정자는 주어진 릴레이션에서 다른 애트리뷰트(또는 애트리뷰트들의 집합)를 고유하게 결정하는 하나 이상의 애트리뷰트를 의미한다.

결정자는 아래와 같이 표기하고, 이를 "A가 B를 결정한다" (또는 "A는 B의 결정자이다")라고 말한다.

결정자
사원 릴레이션
사원 릴레이션의 결정자들

함수적 종속성

만일 애트리뷰트 A가 애트리뷰트 B의 결정자이면 B가 A에 함수적으로 종속한다고 말한다.

주어진 릴레이션 R에서 애트리뷰트 B가 애트리뷰트 A에 함수적으로 종속하는 필요충분조건은 각 A값에 대해 반드시 한 개의 B값이 대응된다는 것이다.

ex) 사원 번호가 사원 이름, 주소, 전화번호의 결정자이므로 사원 이름, 주소, 전화번호는 사원번호에 함수적으로 종속한다.

ex2) 직책은 (사원 번호, 부서 번호)에 함수적으로 종속한다. 사원 번호에 함수적으로 종속하지는 않는다.

사원 릴레이션의 함수적 종속성 다이어그램 예시

완전 함수적 종속성(FFD : Full Functional Dependency)

주어진 릴레이션 R에서 애트리뷰트 B가 애트리뷰트 A에 함수적으로 종속하면서 애트리뷰트 A의 어떠한 진부분 집합에도 함수적으로 종속하지 않으면 애트리뷰트 B가 애트리뷰트 A에 완전하게 함수적으로 종속한다고 말한다.

여기서 애트리뷰트 A는 복합 애트리뷰트를 말한다.

fd3은 완전 함수적 종속성을, fd1과 fd2는 부분 함수적 종석성을 나타낸다.
완전 함수적 종속성과 부분 함수적 종속성

이행적 함수적 종속성(Transitive FD)

한 릴레이션의 애트리뷰트 A, B, C가 주어졌을 때 애트리뷰트 C가 이행적으로 A에 종속한다라는 것의 필요충분조건은

가 성립하는 것이다.

 

A가 릴레이션의 기본 키라면 키의 정의에 따라 A->B와 A->C가 성립한다. 만일 C가 A 외에 B에도 함수적으로 종속한다면 C는 A에 직접 함수적으로 종속하면서 B를 거쳐서 A에 이행적으로 종속한다고 말한다.

학번이 학과전화번호를 종속하는 것은 이행적 함수적 종속성이다.

반응형

'CS > DB' 카테고리의 다른 글

[DB] 정규화와 역정규화  (0) 2022.05.28
[DB] 릴레이션 분해  (0) 2022.05.26
[DB] 정규화 개요  (0) 2022.05.26
[DB] 다단계 인덱스  (0) 2022.05.20
[DB] 화일 조직  (0) 2022.05.19