Database normalization to BCNF

196 views Asked by At

I have some troubles with theoretical BCNF normalization task.

There is a relation R(A, B, C, D, E, F) with functional dependencies:

FD -> A
A -> E
E -> D
FB -> D
B -> A

My line of argumentation:

So let's start with finding potential keys, key have to contain BCF, because they are not obtainable. And it is only key, because we can obtain all attributes from this key.

Now we can remove redundant functional dependency FB -> D, because we have B -> A -> E -> D, right?

That means this is not even 2 NF, because of B -> A. And here comes first problem. I would have to extract A to separate table, but what with A -> E and FD -> A. Does it mean we have to do it at the same time? So that after first step in converting to 2NF, we have relations: {BCFDE, BA, FDA, AE}?

If I am right, it is now 2 NF, but it is not 3 NF, because of FD E -> D (E does not belong to key), so let's extract it to separate relation: {BCEF, ED, BA, FDA, AE}

It is now 3 NF and... is it also BCNF? I do not see any FD that violates it. Or maybe my whole reasoning is wrong?

Thanks in advance!

0

There are 0 answers