上篇记录了范式相关的概念和示例,原则上所设计的数据库应该满足范式。对于不满足范式的关系模式,解决的主要办法就是进行分解。

无损连接和无损分解

上例子:

关系模式R=(A,B,C,D,E),R1 = (A,D),R2 = (A,B),R3 = (B,E),R4 = (C,D,E),R5=(A,E)

F={A→C,B→C,C→D,DE→C,CE→A},

分解r ={R1,R2,R3,R4,R5}。验证:  r 是否是无损分解。

所谓无损连接,无损分解是表达的是一个一个意思。主要目的是看通过    分解r和关系依赖集F     能否推出关系模式R。常用的方法如下,就称为表格法吧。

具体做法:标记关系中已知的元素对应为a,待定的为b,目标是使某一行全部变为a,则说明可以推出原关系模式R,为无损连接分解,否则不是无损连接分解。

  A B C D E
R1 a1     a4  
R2 a1 a2      
R3   a2     a5
R4     a3 a4 a5
R5 a1       a5

F={A→C,B→C,C→D,DE→C,CE→A},

第一步、由A->C,看A和C列,R1,R2和R5都存在属性A,都不存在属性C,所以此时C先待定,填b13(通常以小的为准)

  A B C D E
R1 a1   b13 a4  
R2 a1 a2 b13    
R3   a2     a5
R4     a3 a4 a5
R5 a1   b13   a5

F={A→C,B→C,C→D,DE→C,CE→A},

第二步、由B->C,看B和C列,R2和R3都存在属性B,由R2对应的B,C可知,R3中的C也待定,填b13

  A B C D E
R1 a1   b13 a4  
R2 a1 a2 b13    
R3   a2 b13   a5
R4     a3 a4 a5
R5 a1   b13   a5

F={A→C,B→C,C→D,DE→C,CE→A},

第三步、由C->D,看C和D列,由R1的C和D知,对与C,D两列,C中b13可以推出D中a4。

  A B C D E
R1 a1   b13 a4  
R2 a1 a2 b13 a4  
R3   a2 b13 a4 a5
R4     a3 a4 a5
R5 a1   b13 a4 a5

F={A→C,B→C,C→D,DE→C,CE→A},

第四步、由DE->C,看D,E和C列,由R4的DEC三列,a4,a5可确定a3。

  A B C D E
R1 a1   b13 a4  
R2 a1 a2 b13 a4  
R3   a2 b13变a3 a4 a5
R4     a3 a4 a5
R5 a1   b13变a3 a4 a5

F={A→C,B→C,C→D,DE→C,CE→A},

第五步、由CE->A,看C,E和A列,由R5的CEA三列,a3,a5可确定a1。

  A B C D E
R1 a1   b13 a4  
R2 a1 a2 b13 a4  
R3 a1 a2 b13变a3 a4 a5
R4 a1   a3 a4 a5
R5 a1   b13变a3 a4 a5

最终推出,R3行全部为a.。即为无损连接分解。

依赖保持性:

对于分解后的关系,仍然保持原函数依赖关集F的关系,则称该分解具有依赖保持性。

上例子:

例6  r ={R1,R2,R3},其中R1=ABD,R2=BCE,R3=DE, F={A→BD,D→A,C→BE,E→D,C→A}。

 判断:r是否保持函数依赖集F。

这里引入一个概念,投影。 读作函数依赖集F在AB上的投影,具体使用如下,慢慢体会,不好言传,否则就是离散数学的式子。

 = { A→BD,D→A  }

 = {  C→BE }

 = { E→D }

 = {A→BD,D→A,C→BE,E→D}至于C→A完全可以由传递依赖C→BE,E→D,D→A,得到,所以 = {A→BD,D→A,C→BE,E→D,C→A} = F

故r是保持函数依赖的分解。

最后体会一句话:无损分解性保证了模式分解不丢失信息,而保持函数依赖性则可以解决数据异常操作的现象。

通过示例理解数据库相关概念(五、无损连接,无损分解,依赖保持性等)相关推荐

  1. 分解为具有无损连接性和依赖保持性的3NF的方法以及例子

    分解为具有无损连接性和依赖保持性的3NF的方法以及例子 通用方法 例子 通用方法 输入:关系模式R<U, F> 输出:具有无损连接性和函数依赖保持性的3NF分解ρ = {R1, R2, - ...

  2. 深入理解数据库中的各种连接

    按照我的理解,我将数据库中的连接分类为广义内连接和外连接,如下图,稍后我将解释我为什么这么分. 1 广义内连接(交叉连接) 所有的广义内连接的核心和共同点是完全基于笛卡尔积原理的,两个表进行笛卡尔积运 ...

  3. 数据库分解-含孤立属性的三范式无损连接保持依赖分解——以S-T表为例

    对于不含孤立属性的对于Student表而言: {sno,sname,ssex,sage,sdept,cno,cname,cpno,Ccredit,Grade} 令A=Sno, B=Sname, C=S ...

  4. 软件设计师 - 超键、无损连接、函数依赖

    1.闭包 在函数依赖集F下由α函数确定的所有属性的集合为F下α的闭包,记为α+ . 闭包算法: result:=α; while(result发生变化)dofor each 函数依赖β→γ in F ...

  5. Oracle数据库:oracle内连接inner join on,多表查询各种自链接、内连接、外连接的练习示例

    Oracle数据库:oracle内连接inner join on,多表查询各种自链接.内连接.外连接的练习示例 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得 ...

  6. 三十五、SQL和数据库相关概念

    @Author : By Runsen @Date : 2020/5/14 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘 ...

  7. bcnf分解算法_【数据库】转换成BCNF的保持无损连接的分解

    转换成BCNF的保持无损连接的分解 算法1: 例3:关系模式R,其中U={C,T,H,R,S,G}, F={CS→G,C→T,TH→R,HR→C,HS→R},将其分解成BCNF并保持无损连接. 例4: ...

  8. MongoDB数据库的介绍和连接(非常详细、易懂)

    下面是对MongoDB数据库的详细介绍.环境搭建和数据库的连接,希望可以帮助到有需要的小伙伴~ 文章目录 MongoDB数据库介绍 为什么要使用数据库 什么是数据库 MongoDB的环境搭建 Mong ...

  9. 数据库相关概念与编程使用方式

    数据库相关概念与编程使用方式 CSDN主页:jcLee95 邮箱:291148484@163.com 1. 数据库基本术语 1.1 数据库(DB) 是一个长期存储在计算机内的.有组织的.可共享的.统一 ...

  10. 数据库第五次试验:数据库的安全性

    数据库第五次试验:数据库的安全性 前言 一.实验目的 二.实验要求 三.实验原理.方法和手段 四.实验组织运行要求 五.实验条件 六.实验步骤 七.思考题 八.实验报告 前言 为了帮助同学们完成痛苦的 ...

最新文章

  1. golang中的二维数组和二维切片
  2. Oracle私房菜之安装Oracle 11g
  3. office2010 启动man_Office2010打开慢速度怎么办?
  4. tensorflow随笔-队列管理器QueueRunner-生产者与消费者
  5. JavaScript实现graphBridges图桥算法(附完整源码)
  6. angularjs与PHP,我应该混合AngularJS与PHP框架吗?
  7. SmartDraw2008破解过程总结
  8. 使用jquery ajax代替iframe
  9. 如何使用sdkmanager命令行接受SDK package的license
  10. 当前服务器文件夹不存在,供应商文件夹不存在,无法创建
  11. codevs1287 矩阵乘法
  12. 矩阵分解——三角分解(二)
  13. python自动化办公excel-自动化办公:python操作Excel
  14. 将新项目上传到SVN服务器
  15. 江西省萍乡市谷歌高清卫星地图下载
  16. 【开源】STC12C5A60S2开发板
  17. xshell 免费版本下载
  18. 【电子签名】如何使用Adobe Acrobat Pro DC给PDF文件添加自己的电子签名、选项勾选和日期填写
  19. JAVA性能优化,让程序更快更稳定
  20. oracle账号过期和账号被锁

热门文章

  1. 简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW个人网站制作成品 web网页制作与实现
  2. 剑指Offer_编程题(用两个栈实现队列/旋转数组的最小数字(O(n) + 二分O(lgn))/斐波那契数列/跳台阶)
  3. 考虑一个包含n个元素的普通二叉最小堆数据结构,它支持最坏情况时间代价为O(lgn)的操作INSERT和EXTRACT-MIN。请给出一个势函数Φ,使得INSERT的平摊代价为O(lgn),EXTRAC
  4. 一、无线通信中,工作频率与带宽的关系
  5. vs括号对齐和vs设置背景图片
  6. 目录穿越及文件包含漏洞
  7. 全民一起VBA实战篇 专题2 第三回 VBA已有Sort方法,欲排序何必再写循环
  8. 快速取消PPT中所有动画效果
  9. 人工智能AI对客户服务的影响正在形成
  10. 关于ABAP调试中的F5,F6,F7,F8的区别和用法