泉州建设工程质量网站,门户网站如何做seo,最权威的做网站优化价格,淘宝电脑版网页1.闭包
在函数依赖集F下由α函数确定的所有属性的集合为F下α的闭包#xff0c;记为α 。
闭包算法#xff1a;
result:α;
while(result发生变化)dofor each 函数依赖β→γ in F dobeginif β∈result then result:result∪γ;end2.超键
方法一#xff1a;函数依赖集F下…1.闭包
在函数依赖集F下由α函数确定的所有属性的集合为F下α的闭包记为α 。
闭包算法
result:α;
while(result发生变化)dofor each 函数依赖β→γ in F dobeginif β∈result then result:result∪γ;end
2.超键
方法一函数依赖集F下最小的α函数 使得 α的闭包 函数依赖集F的全部属性 方法二画图法 如上图对于关系模式R(U,F),U{ABCDEF}F{A-B,A-C,C-D,AE-F},则R的超键为AE。 将F中每个函数依赖映射在有向图中能遍历全图的最小节点集合即为超键 单独一个A无法遍历到F因为AE才能到F所以AE的集合可以遍历全图
3.无损连接
3.1.主关系分成成两个子关系
方法一满足以下一个条件就是无损连接
R1 ∩ R2 - R1 - R2 或 R1 ∩ R2 - R2 - R1方法二计算 R1∩R2 是否等于全部属性是的话就是无损连接
3.2.主关系分成成多个子关系
画图法某一排全部为a 详见链接A
4.保持函数依赖
步骤一如果F上的每一个函数依赖都在其分解后的某一个关系上成立则这个分解是保持依赖的这是一个充分条件。 步骤二如果上述判断失败并不能断言分解不是保持依赖的还要使用下面的通用方法来对判断失败的函数依赖做进一步判断。 该方法的表述如下
判断函数依赖算法
对F上的每一个需要进行步骤二确定的α→β使用下面的过程
result:α;
while(result发生变化)dofor each 分解后的Rit(result∩Ri) ∩Riresultresult∪t
当遍历中发现 {α,β} ∈ result 则α→β函数依赖在分解后是保持的 当遍历结束仍没有 {α,β} ∈ result 则α→β函数依赖在分解后是不保持的
5.充分条件、必要条件、充要条件
充分条件A能推出BA是B的充分条件 必要条件, 没有A就没有BA是B的必要条件 充要条件A能推出B同时B能推出A
参考链接 A.数据库中的无损连接分解和是否保持函数依赖的判定
B.无损分解和保持依赖
C.模式分解是否保持函数依赖的判断方法以及例子