2016-04-29 1 views
0

Disons que j'ai une relation comme suit:décomposition Lossless pour obtenir BCNF (forme normale)

R (A, B, C, D) {A> B, B> C}

Est-ce que je peux décomposer sans perte R dans les relations de composants dans BCNF tout en préservant les dépendances fonctionnelles?

Et si je l'ai changé:

R (A, B, C, D) {A> B, B> C, BC-> D)? Je crois que le premier ne peut pas se décomposer en BCNF. Je crois qu'avec l'ajout de BC-> D, il peut être décomposé, mais je ne suis pas sûr. Quelqu'un peut-il aider à clarifier cela pour moi?

Répondre

0

Dans les deux cas, vous pouvez décomposer dans BCNF tout en préservant les dépendances fonctionnelles.

Dans le premier cas, la clé unique est AD, et la décomposition en utilisant l'algorithme d'analyse est la suivante (chaque relation est montrée avec une couverture des dépendances projetée dessus):

R1 < (AB) , {A → B}>

R2 < (BC), {B} → C>

R3 < (AD), {}>

Et vous pouvez noter que les deux dépendances sont préservées, puisque nous avons deux relations qui ont les attributs des dépendances.

Dans le second cas, un couvercle canonique des dépendances est:

{A → B, B → C, B → D}

la clé est A, et la décomposition en utilisant le algorithme d'analyse est la suivante (encore une fois, chaque relation est montrée avec une couverture des dépendances projetées au-dessus):

R1 < (BCD), {B → C, B → D}>

R2 < (A B), {A → B}>

On peut noter que la décomposition préserve toutes les dépendances.