求最小函数依赖

已知关系模式R(A, B, C, D, E, G, H),函数依赖集F为{BC→AE, DC→EH, DG→E, B→CD, D→G},请严格按步骤来对F进行最小化处理,得到F的最小函数依赖集

第一步
对F中的函数依赖运用分解原则来创建一个等价函数依赖集H,该集合中每一个函数依赖的右部是单个属性:
第一步之后的结果H={①BC→A,②BC→E,③DC→E,④DC→H,⑤DG→E,⑥B→C,⑦B→D,⑧D→G}

第二步
考察每一个函数依赖是否是必须的,去除非必要的函数依赖:
(1):考察BC→A,去掉函数依赖集会得到新的函数依赖集J={②BC→E,③DC→E,④DC→H,⑤DG→E,⑥B→C,⑦B→D,⑧D→G}。则(BC)J+=BCDEGH,不包含A,因此BC→A不能去掉。

(2):考察BC→E,J={①BC→A,③DC→E,④DC→H,⑤DG→E,⑥B→C,⑦B→D,⑧D→G}。则(BC)J+=ABCDEGH,包含E,能去掉。
此时H={①BC→A,③DC→E,④DC→H,⑤DG→E,⑥B→C,⑦B→D,⑧D→G}

(3):考察DC→E,J={①BC→A,④DC→H,⑤DG→E,⑥B→C,⑦B→D,⑧D→G}。则(DC)J+=CDEGH,包含E,能去掉。
此时H={①BC→A,④DC→H,⑤DG→E,⑥B→C,⑦B→D,⑧D→G}

(4):考察DC→H,J={①BC→A,⑤DG→E,⑥B→C,⑦B→D,⑧D→G}。则(DC)J+=CDGE,不包含H,不能去掉
此时H={①BC→A,④DC→H,⑤DG→E,⑥B→C,⑦B→D,⑧D→G}

(5):考察DG→E,J={①BC→A,④DC→H,⑥B→C,⑦B→D,⑧D→G}。则(DG)J+=DG,不包含E,不能去掉。
此时H={①BC→A,④DC→H,⑤DG→E,⑥B→C,⑦B→D,⑧D→G}

(6):考察B→C,J={①BC→A,④DC→H,⑤DG→E,⑦B→D,⑧D→G}。则(B)J+=BDGE,不包含C,不能去掉。
此时H={①BC→A,④DC→H,⑤DG→E,⑥B→C,⑦B→D,⑧D→G}

(7):考察B→D,J={①BC→A,④DC→H,⑤DG→E,⑥B→C,⑧D→G}。则(B)J+=ABC,不包含D,不能去掉。
此时H={①BC→A,④DC→H,⑤DG→E,⑥B→C,⑦B→D,⑧D→G}

(8):考察D→G,J={①BC→A,④DC→H,⑤DG→E,⑥B→C,⑦B→D}。则(D)J+=D,不包含G,不能去掉。
此时H={①BC→A,④DC→H,⑤DG→E,⑥B→C,⑦B→D,⑧D→G}

所以第二步之后H={①BC→A,②DC→H,③DG→E,④B→C,⑤B→D,⑥D→G}

第三步

考察每一个左部为多个属性的函数依赖,看左部的每个属性是否是必须的,能否用更小的属性集替代原有的属性集。

首先从函数依赖①BC→A开始。
(1): 去除B
如果B可以去除,那么可得到新的函数依赖集J={①C→A,②DC→H,③DG→E,④B→C,⑤B→D,⑥D→G}。去掉B后C在J上的闭包将比在H下函数决定更多的属性,如果(C )J+=(C )H+或者A∈(C )H+,则说明去掉B得到的函数依赖集和原有的函数依赖集是等价的,可以用C→A替换BC→A。
( C)H+=C,不包含A,不能去除。
去除C
(B)H+=ABCDEGH,包含A,可以去除。
此时H={①B→A,②DC→H,③DG→E,④B→C,⑤B→D,⑥D→G}

(2):去除②中的D
(D)H+=DGE,不包含H,不能去掉。
去除②中的C?
(C )H+=C,不包含H,不能去掉。
此时H={①B→A,②DC→H,③DG→E,④B→C,⑤B→D,⑥D→G}

(3):去掉③中的D
(G)H+=G,不含E,不能去掉。
去掉③中的G?
(D)H+=DGE,包含E,可以去掉。
此时H=此时H={①B→A,②DC→H,③D→E,④B→C,⑤B→D,⑥D→G}

所以最后的结果H={B→A,DC→H,D→E,B→C,B→D,D→G}

数学表达式格式:

在这里插入图片描述

  • 13
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值