方法一:无损连接定理

关系模式R(U,F)的一个分解,ρ={R1<U1,F1>,R2<U2,F2>}具有无损连接的充分必要条件是:

U1∩U2→U1-U€F或U1∩U2→U2 -U1€F+

方法二:算法

ρ={R1<U1,F1>,R2<U2,F2>,...,Rk<Uk,Fk>}是关系模式R<U,F>的一个分解,U={A1,A2,...,An},F={FD1,FD2,...,FDp},并设F是一个最小依赖集,记FDi为Xi→Alj,其步骤如下:

① 建立一张n列k行的表,每一列对应一个属性,每一行对应分解中的一个关系模式。若属性Aj Ui,则在j列i行上真上aj,否则填上bij

② 对于每一个FDi做如下操作:找到Xi所对应的列中具有相同符号的那些行。考察这些行中li列的元素,若其中有aj,则全部改为aj,否则全部改为bmli,m是这些行的行号最小值。

如果在某次更改后,有一行成为:a1,a2,...,an,则算法终止。且分解ρ具有无损连接性,否则不具有无损连接性。

对F中p个FD逐一进行一次这样的处理,称为对F的一次扫描。

③ 比较扫描前后,表有无变化,如有变化,则返回第② 步,否则算法终止。如果发生循环,那么前次扫描至少应使该表减少一个符号,表中符号有限,因此,循环必然终止。

举例1:已知R<U,F>,U={A,B,C},F={A→B},如下的两个分解:

① ρ1={AB,BC}

② ρ2={AB,AC}

判断这两个分解是否具有无损连接性。

①因为AB∩BC=B,AB-BC=A,BC-AB=C

所以B→A ¢F+,B→C ¢ F+

故ρ1是有损连接。

② 因为AB∩AC=A,AB-AC=B,AC-AB=C

所以A→B €F+,A→C ¢F+

故ρ2是无损连接。

举例2:已知R<U,F>,U={A,B,C,D,E},F={A→C,B→C,C→D,DE→C,CE→A},R的一个分解为R1(AD),R2(AB),R3(BE),R4(CDE),R5(AE),判断这个分解是否具有无损连接性。

① 构造一个初始的二维表,若“属性”属于“模式”中的属性,则填aj,否则填bij

② 根据A→C,对上表进行处理,由于属性列A上第1、2、5行相同均为a1,所以将属性列C上的b13、b23、b53改为同一个符号b13(取行号最小值)。

③ 根据B→C,对上表进行处理,由于属性列B上第2、3行相同均为a2,所以将属性列C上的b13、b33改为同一个符号b13(取行号最小值)。

④ 根据C→D,对上表进行处理,由于属性列C上第1、2、3、5行相同均为b13,所以将属性列D上的值均改为同一个符号a4

⑤ 根据DE→C,对上表进行处理,由于属性列DE上第3、4、5行相同均为a4a5,所以将属性列C上的值均改为同一个符号a3

⑥ 根据CE→A,对上表进行处理,由于属性列CE上第3、4、5行相同均为a3a5,所以将属性列A上的值均改为同一个符号a1

⑦ 通过上述的修改,使第三行成为a1a2a3a4a5,则算法终止。且分解具有无损连接性。

转自百度文库 链接

模式分解的无损性判断相关推荐

  1. 数据库中的模式分解与无损连接性

    无损连接分解的普通判别方法--表格法 设关系模式R=A1,-,An,R上成立的FD集F,R的一个分解p={R1,-,Rk}.无损连接分解的判断步骤如下: (1)构造一张k行n列的表格,每列对应一个属性 ...

  2. 模式分解的无损连接性之深入剖析

    1.无损连接分解的形式定义 无损连接分解的形式定义如下:设R是一个关系模式,F是R上的一个函数依赖(FD)集.R分解成数据库模式δ={R1,--,Rk}.如果对R中每一个满足F的关系r都有下式成立: ...

  3. 数据库概论之模式分解理论(理解简单明了)

    模式分解理论 模式分解: 模式分解的概念: 模式分解的特性: 数据内容的等价性: 数据约束的等价性 模式分解要考虑的问题: 模式分解的分类: 无损连接分解: 无损连接分解概念: 无损连接分解的检验算法 ...

  4. 判断模式分解是否为无损连接的方法

    判断模式分解是否为无损连接的方法 [方法步骤] ρ = { R1<U1 , F1> , R2<U2 , F2> , - , Rk<Uk , Fk> } 是关系模式 ...

  5. 无损连接和模式分解题型

    一.判别一个分解的无损连接性 方法一:无损连接定理 关系模式R(U,F)的一个分解ρ={R1<U1,F1>,R2<U2,F2>}具有无损连接的充分必要条件是: U1∩U2→U1 ...

  6. 判断分解的无损连接性

    算法 ρ={R1<U1,F1>,R2<U2,F2>,...,Rk<Uk,Fk>}是关系模式R<U,F>的一个分解,U={A1,A2,...,An},F= ...

  7. 数据库基础理论二——模式分解为主要导向

    前言: 正确合情的理论是指导实践的重要法宝.在社会实践中,我们往往会感受到社会生产与理论发展有些许的不一致性,当然,理论与实践之间往往具有一道鸿沟.但是,当我们从社会经济学的角度去审视技术理论与泛化的 ...

  8. 数据库系统概论:判别一个分解的无损连接性

    1. 无损连接定义 无损连接是指分解后的关系通过自然连接可以恢复成原来的关系,即通过自然连接得到的关系与原来的关系相比,既不多出信息.又不丢失信息. 2. 判别无损连接的方法 定理判别(适合关系模式R ...

  9. 判别一个分解的无损连接性

    算法:ρ={R1<U1,F1>,R2<U2,F2>,...,Rk<Uk,Fk>}是关系模式R<U,F>的一个分解,U={A1,A2,...,An},F= ...

  10. 【数据库复习】 模式分解例题

    关于模式分解的相关例题:即判断分解是否保持无损连接,以及是否保持函数依赖: 题目来源:MOOC网-战德臣数据库课程 参考视频:B站浙江大学陈岭数据库系统原理 1.给定关系模式R(U, F),其中U={ ...

最新文章

  1. 怎么彻底删除电脑上的软件_你的电脑有救了:1 个神器几个进阶方法彻底删除流氓软件!...
  2. 了解Master Pages库
  3. python读取一行数组_python 把文件中的每一行以数组的元素放入数组中的方法
  4. php外联样式,css外联样式不起作用怎么办
  5. java如何抽象一辆车,java新职篇:面向对象之抽象
  6. java api csdn_java api函数读出当前机器名以及版本号 csdn
  7. java简单纸牌游戏_活动回顾 | 畅玩法语纸牌游戏
  8. 数据3分钟丨Gartner宣布明年12大战略性技术趋势;PolarDB-X正式开源;OceanBase 3.2发布...
  9. Leetcode刷题记录[java]——561 Array Partition I
  10. Python十行代码带你穿越管世界
  11. 【ubuntu安装交叉编译器】安装交叉编译器
  12. RHEL7 运行级别简介及切换操作
  13. PHP has encountered an Access Violation at
  14. LeaRun快速开发平台:企业供应链管理系统解决方案
  15. 代理ARP产生路由环路问题分析
  16. windows虚拟机给C盘扩容
  17. 苹果开发者账号双重认证
  18. 业内人士揭露餐馆秘密:滋补汤基本没营养
  19. 电大本科计算机论文要求,【最新要求】电大毕业论文格式要求
  20. python的cfg是什么模块_使用安装模块设置.py以及设置.cfg

热门文章

  1. 虚拟交换系统 (VSS)
  2. 优启通制作系统u盘_优启通u盘装系统制作工具
  3. 微信公众号通知和服务通知
  4. 易佰USB转串口驱动
  5. 【Hexo搭建个人博客】:yilia主题配置(二) - 背景图片
  6. 2018 蓝桥杯 C++ A组 1-7
  7. 咪蒙注销后,我用Python对其1013篇历史文章做了一次深度的数据分析...
  8. linux命令清理磁盘空间,Linux如何使用命令行清理磁盘来增加空间
  9. Apache 报错指定的网络名不再可用解决方案
  10. 计算机 矩阵乘法,计算机算法:Strassen矩阵相乘算法