데이터베이스

논리 모델링_함수적 종속성(FD : Functional Dependency) 폐포(Closure) 후보키, 커버(Cover), BCNF, 정규화

스윙스윙 2021. 8. 24. 00:31

▣ 논리 모델링_함수적 종속성(FD : Functional Dependency) 폐포(Closure) 후보키, 커버(Cover), BCNF, 정규화

1. 폐포(Closure)

- 함수적 종속 관계의 집합 F에서 특정 속성 X가 함수적으로 결정하는 속성들의 집합(X+)

- 후보키 찾기

 

- 폐포 알고리즘

 

2. 커버(Cover)

- 어떤 함수종속 집합 F와 동등한 최소의 함수종속 집합을 의미

 1) F의 모든 함수종속성들의 오른쪽 편 애트리뷰트가 하나이다.

 2) F에서 X -> A를 X의 진부분집합 Y에 대하여 Y->A로 교체했을 때,

     F와 동등한 함수적 종속성들의 집합이 될 수 없다.

     (함수 종속성 왼쪽에 무의미하게 중된 애트리뷰트 제거)

 3) F로부터 어떤 함수적 종속성을 제거했을 때, F와 동등한 함수적

     종속성들의 집합이 될 수 없다. (중복 함수종속성 제거)

 


2014년 53번

정답 : 2번



문제)

 

답)


2016년 66번

정답 : 3번,4번

③ 상품명이 후보키이므로, 상품명→(상품번호, 담당부서, 구매자)의 함수 종속이 성립
④ 구매자는 하나의 부서(담당부서)에 속하므로, 구매자 담당부서의 함수 종속이 성립
따라서, R1(구매자, 담당부서), R2(상품번호, 상품명, 구매자)에서 후보키가 아닌

구매자->담당부서 함수 종속 관계가 다른 릴레이션(R1)으로 분리되었으므로 BCNF를 만족


2016년 67번

정답 : 1번

1) 후보키인 (A,C) 에 대한 부분 함수 종속 A->B, C->D이 존재하므로 2NF를 만족하지 못함
즉, 현재 상태는 1NF 상태임
2) BCNF는 후보키가 아닌 결정자를 제거한 상태이므로 후보키인 (A,C)가 결정자인 함수 종속, 

즉(A,C)->E을 제외한 나머지 함수 종속을 분해해야 함

분해 대상 함수 종속은 A→B, C→D이며, 결과 릴레이션은 R1(A,C,E), R2(A,B), R3(C,D) 임


2017년 53번

정답 : 4번

4) 풀이

- 조건 1 : A의 모든 함수적 종속성들의 오른쪽편 애트리뷰트를 단일 애트리뷰트로 변환

  만족함

- 조건 2 : AB → D 가 A → D 혹은 B → D로 대치될 수 있는지 결정

  => B → A 에 의해 B → AB (첨가규칙) 가 되고, B → AB 와 AB → D 에 의해 B → D 가 성립

      따라서, AB → D 는 B → D 대치 가능

      { B → A, D → A, B → D } : 함수종속성 왼쪽이 단일 애트리뷰트이므로, 조건2 만족

- 조건 3 : 중복 함수종속성 제거

  => B → D 와 D → A 에 의해 B → A가 성립하므로 중복 함수 종속성 B → A 제거

   따라서, 최종적인 최소 커버는 { D → A, B → D }

 

3) 풀이

- 조건 1 : A → C, AC → D, E → A, E → D, E → H (분해규칙 적용)

- 조건 2 : AC → D에서 A → D 혹은 C → D로 대치되는지 확인하면,

  => A → C에서 첨가규칙 적용하면, A → AC

  따라서, A → AC와 AC → D에서 이행규칙에 의해 A → D가 되므로, AC → D는 A → D대치가능

  => 여기까지 정리하면, A → C, A → D, E → A, E → D, E → H

- 조건 3 : E → A와 A → D에서 이행규칙에 의해 E → D가 되므로, E → D는 중복 제거 가능

  => 최종 정리하면, F의 최소커버는 A → C, A → D, E → A, E → H

  따라서, F와 G의 최소커버가 동일하므로 둘은 동등함

 


2018년 60번

답 : 2번

- 조건 1 : 만족함

- 조건 2 : BA → C에서 B → C 혹은 A → C로 대치되는지 확인하면,

  => A → B 에서 첨가규칙 적용하면, A → BA

  따라서, A → BA와 BA → C에서 이행규칙에 의해 A → C가 되므로, BA → C는 A → C로 대치가능

  => 여기까지 정리하면, A → B, C → B, A → C

- 조건 3 : A → C와 C → B에서 이행규칙에 의해 A → B가 되므로, A → B는 중복 제거 가능

  => 최종 정리하면, F의 최소커버는 C → B, A → C


2019년 66번

정답 : 2번, 4번

폐포 개념을 이용하면, A, B는 후보키

결정자가 후보키가 아닌 함수종속은 E->CD, C->D

 

R1(A, B, E), R2(E, C), R3(C, D)

외래키에 해당하는 속성은 C, E


2020년 58번

정답 : 3번

E = {EABCD}

BC = {BCDEA}

BD = {BD}

CD = {CDEAB}

 


2020년 65번

정답 : 2번

함수적 종속석 FD 중 결정자가 모두 후보키인것은 2번

1) A 후보키 가능, B 후보키 불가

2) A 후보키 가능, B 후보키 가능

3) AB 후보키 가능, A  후보키 불가

4) AB 후보기 가능, C 후보키 불가

 


 

2021년 53번

정답 : 2번

후보키는 유일성과 최소성을 만족하는 키

1) A = {ABCDEFG}

2) BD = {BDE} -> 후보키 불가

3) CE = {CEABDFG}

4) BCD = {BCDEAFG}