BCNF Decomposition

纵饮孤独 提交于 2019-12-22 03:51:00

问题


I am trying to figure out the correct steps in performing a BCNF decomposition. I found this example, but I do not understand how to perform the correct steps.

Schema = (A,B,C,D,E,F,G,H) FD's + {A -> CGH, AD->C, DE->F, G->G}

Could someone show the correct steps?


回答1:


Determine a minimal cover using your FD's:

{A -> C, A -> G, A -> H, 
 B -> nothing, 
 C -> nothing,
 D -> nothing,
 E -> nothing,
 F -> nothing
 G -> nothing
 H -> nothing
 DE -> F}

Note AD -> C drops out because A alone determines C which implies D is redundant in the FD (see Armstrong's Axioms - Augmentation).

3NF and BCNF definitions relate to dependencies about compund keys. The only compound key you have here is DE. Neither D or E participate in any other non-null FD's so eliminating transitive dependencies and ensuring that dependent attributes rely on the 'key, the whole key, and nothing but the key' is not an issue here.

Break into relations so that the FD left hand side is the key and the right hand sides are the non-key dependent attributes of that key:

[Key(A), C, G, H]
[Key(D, E), F]

Now eliminate these attributes from the cover, whatever is left are standalone relations.

[Key(B)]

This should be in 3NF/BCNF



来源:https://stackoverflow.com/questions/4368271/bcnf-decomposition

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!