2010-12-05 4 views
12
Scheme (R) = (A,B,C,D,E,F,G,H) 

Function Dependencies (F) = {A->CGH, AD->C, DE->F, G->H} 

스키마 R의 제 3 정규형 (3NF)으로 무손실 조인 분해를 수행하는 방법은 무엇입니까?세 번째 정규형 (3NF)으로 분해

도움이 될 것입니다.

+0

이 학습 가이드는 당신에게 문제의 종류를 해결하는 과정을 이야기하지 않겠 키 ABDE를 추가? 아니면 적어도 확인할 수있는 대답을 주시겠습니까? –

+4

아니야, 어느 쪽이 낫지? – Chris

답변

18

임의의 문자 x에 대해 A → CGH 및 Ax → C이므로 A → CGH가 알려주지 않는 것을 알려주지 않기 때문에 두 번째 기능 종속성 (AD → C)을 무시할 수 있습니다.

B를 결정하는 것은 없습니다.

G는 H를 결정하고 A는 G와 H를 모두 결정하므로 G → H를 관계 (A → G와 G → H의 전이 의존성 있음)로 분리 할 수 ​​있습니다. F 잎

R1 = { G, H }  : PK = { G } 

'= {A → CG를 DE → F} 및 R'= (A, B, C, D, E, F, G).

두개 이상의 관계를 형성 할 수있는 남은 두 기능적 종속성

:

R ''= {A, B, D, E}

R4 = { A, B, D, E } : PK = { A, B, D, E } 

R1, R2 조인 잎

R2 = { A, C, G } : PK = { A } 
R3 = { D, E, F } : PK = { D, E } 

, R3 및 R4는 R의 시작 값 (주어진 함수 종속성의 제약 조건을 만족하는)에 대해 시작한 R을 남겨 둡니다.

+0

1. 왜 어떤 문자 x에 대해 A → CGH와 Ax → C가 있기 때문에 A → C의 어떤 것도 말하지 않기 때문에 두 번째 함수 적 종속성 (AD → C)을 무시할 수있다. CGH는 우리에게도 말하지 않습니까? A는 부분 집합을 결정합니다. 즉, 모든 단일 원자를 구체적으로 결정합니까? – Marine1

+0

2. "F"에서 결정한 "새로운 키"와 속성을 제거 했습니까? 그것은 3NF 분해 방식을 결정하는 방법입니까? 그런 알고리즘을 시작하는 데 필요한 것은 무엇입니까? 적어도 두 FD가 동일한 속성을 결정해야합니까? – Marine1

+0

@ Marine1 : 당신이 무엇을 요구하고 있는지 잘 모르겠습니다. 대답에서 나는 (그리고 당신이 인용 한) _ "어떤 문자 x에 대해서도 A → CGH와 Ax → C를 사용했기 때문에, 함수 종속성 (AD → C) 중 두 번째를 무시할 수있다. → CGH는 우리에게도 말하지 않습니다. "_ 그 주장의 타당성에 대해 묻고 있습니까? Wikipedia에서 [Armstrong 's Axioms] (http://en.wikipedia.org/wiki/Armstrong's_axioms) 또는 [Functional Dependencies] (http://en.wikipedia.org/wiki/Functional_dependency)를 확인하고 분해, 확대 및 A → CGH로부터 AD → C를 얻기 위해 다시 분해. –

0

은 전반적으로 먼저 최소 커버를 받아야하고

관련 문제