所有栏目 | 云社区 美国云服务器[国内云主机商]
你的位置:首页 > 云社区 » 正文

数据库闭包怎么算的?

发布时间:2020-04-12 09:00:24

资讯分类:闭包  数据库  算法  函数  终止
数据库闭包怎么算的?

已知关系模式R,其中U={A,B,C,D,E};F={AB→C,B→D,C→E,EC→B,AC→B}。求(AB)F+ 。解 设X(0)=AB;(1)计算X(1): 逐一的扫描F集合中各个函数依赖, 找左部为A,B或AB的函数依赖。得到两个: AB→C,B→D。 于是X(1)=AB∪CD=ABCD。(2)因为X(0)≠ X(1) ,所以再找出左部为ABCD子集的那些函数依赖,又得到AB→C,B→D, C→E,AC→B, 于是X(2)=X(1)∪BCDE=ABCDE。(3)因为X(2)=U,算法终止所以(AB)F+ =ABCDE。求属性集X(X  U)关于U上的函数依 赖集F 的闭包XF+ 输入:X,F输出:XF+步骤:(1)令X(0)=X,i=0(2)求B,这里B = { A |( V)(  W)(V→WF ∧V  X(i)∧A W)};(3)X(i+1)=B∪X(i) (4)判断X(i+1)= X (i)吗?(5)若相等或X(i)=U , 则X(i)就是XF+ , 算法终止。(6)若否,则 i=i+l,返回第(2)步。对于算法6.l, 令ai =|X(i)|,{ai }形成一个步长大于1的严格递增的序列,序列的上界是 | U |,因此该算法最多 |U| - |X| 次循环就会终止。

留言与评论(共有 0 条评论)
   
验证码:
Top