第四章 关系数据理论

第一节 第二节 第三节 第四节

第三节 数据依赖的公理系统           (1) (2) (3)
    求闭包的算法:算法1求属性集X(X ?U)在U上的函数依赖集F 的闭包XF+,输入:X,F 输出:XF+。
    ⑴ 令X(0)=X,i=0;
    ⑵ 求B, B = {A|(?V)(?W)(V→W?F∧V ? X(i)∧A?W)};
    ⑶ X(i+1)=B∪X(i) ;
    ⑷ 判断X(i+1)= X(i)吗?;
    ⑸ 若相等或X(i)=U , 则X(i)就是XF+ , 算法终止;
    ⑹ 若否,则 i=i+l,返回第⑵步。
    对于算法l, 令ai =|X(i)|,{ai }形成一个步长大于1的严格递增的序列,序列的上界是 | U |,因此
该算法最多|U| - |X| 次循环就会终止,函数依赖闭包。
    例 已知关系模式R<U,F>, 其中 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。
    4. Armstrong公理系统的有效性与完备性,建立公理系统体系目的:从已知的 f 推导出未知的f。明确:
        1. 公理系统推导出来的 f 正确?
        2. F+中的每一个 f 都能推导出来?
    有效性:由F出发根据Armstrong公理推导出来的每一个函数依赖一定在F+中。 /* Armstrong正确。
    完备性:F+中的每一个函数依赖,必定可以由F出发根据Armstrong公理推导出来。 /* Armstrong公理够
用,完全。所有不能用Armstrong公理推导出来f, 都不为真,若 f 不能用Armstrong公理推导出来, f∈F+
    5. 函数依赖集等价
    定义 如果G+=F+,称函数依赖集F覆盖G(F是G的覆盖,或G是F的覆盖),或F与G等价。函数依赖集等价的
充要条件。
 引理 F+ = G+ 的充分必要条件是F∈G+ , 和G∈F+。
 证: 必要性显然,只证充分性。
    ⑴ 若F∈G+ ,则XF+∈XG++ 。
    ⑵ 任取X→Y?F+ 则有 Y∈XF+∈XG++ 。
    所以X→Y (G+)+= G+, 即F+∈G+。
    ⑶ 同理可证G+∈F+ ,所以F+ = G+。
    要判定F∈G+,逐一对F中的函数依赖X→Y,考察 Y 是否属于XG++ 。引理5.3 给出了判断两个函数依赖集
等价的可行算法。
    6. 最小依赖集
    定义 如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集。亦称为最小依赖集或最小覆盖。
    (1) F中任一函数依赖的右部仅含有一个属性。
    (2) F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价。
    (3) F中不存在这样的函数依赖X→A, X有真子集Z使得F-{X→A}∪{Z→A}与F等价。

吉林大学网络教育学院 版权所有