Find the functional dependencies that are violating BCNF, Find the FDs that are not violating the BCNF rules, Find FD for BCNF decomposition
Question:
Consider a relation schema R with
attributes ABCDEFGH with functional dependencies S:
S = {B →
CD; BF →
H; C →
AG; CEH →
F; CH → B}
Which of these functional dependencies
violate BCNF (Boyce-Codd Normal Form)?
Solution:
BCNF requires that the LHS of an FD be
a super key. Hence, we would find the closure for all the Left Hand Side
attributes/sets of attributes to check whether the LHS forms the key or not.
[Note: B+
means the closure of the attribute B]
| 
LHS | 
Result | 
Decision | 
| 
B+ | 
= BCD from B → CD 
= BCDAG from C → A | 
Result does not include
  attributes E, F and H. Hence, B is not a super key
  and B → CD violates BCNF. | 
| 
BF+ | 
= BFH from BF → H 
= BFHCD from B → CD 
= BFHCDAG from C → AG | 
Result does not include
  E. Hence, (BF) is not a super key and BF → H
  violates BCNF. | 
| 
C+ | 
= CAG from C → AG | 
Result does not include
  B, D, E, F, and H. Hence C is not a super key and C → AG
  violates BCNF. | 
| 
CEH+ | 
= CEHF from CEH → F 
= CEHFB from CH → B 
= CEHFBAG from C → AG 
= CEHFBAGD from B
  → CD | 
Result includes all the
  attributes of relation R. Hence, (CEH) is the
  super key of R and CEH → F does not violate
  BCNF. | 
| 
CH+ | 
= CHB from CH → B 
= CHBD from B → CD 
= CHBDAG from C → AG | 
Result does not include
  E and F. Hence, (CH) is not a super key and CH → B
  violates BCNF. | 
 *************************
Go to Normalization - Solved Exercises page
Go to How to find closure? page 
 
No comments:
Post a Comment