I have the following relation: R = (ABCDE) with the functional dependencies F = {A → B, B → CDE, E → AC}. The two decompositions I have are R1 = (BCDE) and R2 = (AE). How do I check whether or not these decompositions are in BCNF? I know how to check if they're lossless and dependency preserving (in this case I think both answers are yes), not how to check if they're in BCNF.
Asked
Active
Viewed 2,128 times
0
-
1Please don't ask us to rewrite your textbook. Quote its relevant definitions & algorithms & show your work following it & ask 1 question where stuck. Moreover & nevertheless this is an easily found faq. – philipxy Mar 25 '20 at 14:27
-
Your "I have these FDs" doesn't make sense. "These are all the FDs that hold"?--Not possible. "These are all the non-trivial FDs that hold"?--Not possible. "These are some FDs that hold"?--Question can't be answered. Find out what a *cover* is & what the exact conditions are to apply a particular definition/rule/algorithm. To determine CKs & NFs we must be given FDs that form a cover. Sometimes a minimal/irreducible cover. And the set of all attributes must given. [See this answer.](https://stackoverflow.com/a/53386492/3404097) – philipxy Mar 25 '20 at 14:28
1 Answers
2
Assuming that F
is a cover of the functional dependencies of R
, the relation is already in BCNF.
In fact, to check that a relation is BCNF, we can check if all the dependecies of a cover have the determinant which is a superkey. In your case this is true (since the candidate keys of the relation are A
, B
, and E
), so there is no need to decompose it.

Renzo
- 26,848
- 5
- 49
- 61
-
1Yes, both the relations are in BCNF (as well as the two in your original question). – Renzo Mar 17 '20 at 16:14