资源描述:
《最小函数依赖集fm的求法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、最小函数依赖集Fm的求法:1.根据分解规则,将函数依赖的右端分解成单个属性2.对于F中的每个函数X→A,设G=F-{X→A},如果A∈XG+,则将X→A从中删除,否则保留。3.对于F中每一个左端包含多个属性的X→A,选择X的每个子集Z,如果A∈ZF+,则用Z→A代替X→A。例如:F={BE→G,BD→G,CDE→AB,CD→A,CE→G,BC→A,B→D,C→D}求Fm。解:1)右端分解成单个属性F={BE→G,BD→G,CDE→A,CDE→B,CD→A,CE→G,BC→A,B→D,C→D}2)设G=F-{
2、X→A},如果A∈XG+,则将X→A删除,否则保留(1)G=F-{BE→G}={BD→G,CDE→A,CDE→B,CD→A,CE→G,BC→A,B→D,C→D},则(BE)G+=BEDG,包含G,则删除。(2)G=F-{BD→G,}={CDE→A,CDE→B,CD→A,CE→G,BC→A,B→D,C→D},则(BD)G+=BD,不包含G,则保留。(3)G=F-{CDE→A}={BD→G,CDE→B,CD→A,CE→G,BC→A,B→D,C→D},则(CDE)G+=CDEBGA,包含A,则删除。(4)G=F-
3、{CDE→B}={BD→G,CD→A,CE→G,BC→A,B→D,C→D},则(CDE)G+=CDEAG,不包含B,则保留。(4)G=F-{CD→A,}={BD→G,CDE→B,CE→G,BC→A,B→D,C→D},则(CD)G+=CD,不包含A,则保留。(5)G=F-{CE→G,}={BD→G,CDE→B,CD→A,BC→A,B→D,C→D},则(CE)G+=CEDBAG,包含G,则删除。(5)G=F-{BC→A,}={BD→G,CDE→B,CD→A,B→D,C→D},则(BC)G+=BCDGA,包含A,
4、则删除。(6)G=F-{B→D,}={BD→G,CDE→B,CD→A,C→D},则(B)G+=B,不包含D,则保留。(7)G=F-{C→D}={BD→G,CDE→B,CD→A,B→D,},则(C)G+=C,不包含D,则保留。所以F={BD→G,CDE→B,CD→A,B→D,C→D}3)左端包含多个属性的函数依赖X→A,选择X的每个子集Z,如果A∈ZF+,则用Z→A代替X→A左端包含多个属性的函数依赖有BD→G,CDE→B,CD→A;(1)BD→G的左端子集包含{B}和{D}BF+=BDG,BF+包含G,则用
5、B→G代替BD→G;DF+=D,DF+不包含G;可以省略F={B→G,CDE→B,CD→A,B→D,C→D}(2)CDE→B的左端子集包含{C}、{D}、{E}、{CD}、{CE}和{DE}CF+=CDA,CF+不包含B;DF+=D,DF+不包含B;EF+=E,EF+不包含B;CDF+=CDA,CDF+不包含B;CEF+=CEDBGA,CEF+包含B,则用CE→B代替CDE→B;DEF+=DE,DEF+不包含B;可以省略F={B→G,CE→B,CD→A,B→D,C→D}(1)CD→A的左端子集包含{C}、{
6、D}CF+=CDA,CDF+包含A,则用C→A代替CD→A;DF+=D,DF+不包含A;可以省略F={B→G,CE→B,C→A,B→D,C→D}综上所述:Fm={B→G,CE→B,C→A,B→D,C→D}