算法:

例1: 关系模式R<U,F>,其中U={C,T,H,R,S,G},

F={CS→G,C→T,TH→R,HR→C,HS→R},将其分解成BCNF并保持无损连接。

例2:关系模式R<U,F>,其中:U={A,B,C,D,E},F={A→C,C→D,B→C,DE→C,CE→A},将其分解成BCNF并保持无损连接。

解:

① 令ρ={R(U,F)}。

② ρ中不是所有的模式都是BCNF,转入下一步。

③ 分解R:R上的候选关键字为BE(因为所有函数依赖的右边没有BE)。考虑A→C函数依赖不满足BCNF条件(因A不包含候选键BE),将其分解成R1(AC)、R2(ABDE)。计算R1和R2的最小函数依赖集分别为:F1={A→C},F2={A→D,B→D,DE→D,BE→A}。其中A→D是由于R2中没有属性C且A→C,C→D;B→D是由于R2中没有属性C且B→C,C→D;DE→D是由于R2中没有属性C且DE→C,C→D;BE→A是由于R2中没有属性C且B→C,CE→A。又由于DE→D是蕴含关系,可以去掉,故F2={A→D,B→D,BE→A}。

分解R2:R2上的候选关键字为BE。考虑B→D函数依赖不满足BCNF条件,将其分解成R21(BD)、R22(ABE)。计算R21和R22的最小函数依赖集分别为:F21={B→D},F22={BE→A}。(考虑A→D函数依赖的话,就分解为R21(AD)、R22(ABE) )

由于R22上的候选关键字为BE,而F22中的所有函数依赖满足BCNF条件。故R可以分解为无损连接性的BCNF如:ρ={R1(AC),R21(BD),R22(ABE)}

原文:https://blog.csdn.net/ristal/article/details/6652020

转换成BCNF的无损连接分解相关推荐

  1. 四、转换成BCNF的保持无损连接的分解

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

  2. 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: ...

  3. 3NF的无损连接和保持函数依赖的分解、BCNF的无损连接的分解

    首先,需要了解3NF.BCNF范式的要求. 3NF:不存在非主属性对码的传递函数依赖或部分函数依赖. 如AB-C,A->C  码为(A,B),A,B是主属性,C是非主属性,C部分函数依赖于码,即 ...

  4. C# 数组内元素合并转换成以指定字符连接的字符串

    string[] array = { "aa", "bb", "cc", "11", "22" }; ...

  5. C# 数组转换成以指定字符连接的字符串

    string  str = string.Join(".", array);//array为数组

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

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

  7. PDF怎么转换成jpg图片

    PDF怎么转换成jpg图片?在日常工作中,PDF文件是一种非常常用的格式类型.文件存储安全性高,可以保护用户文件的内容,文件的转换也很方便.支持多种文件类型,可自由切换.有的朋友还是比较习惯查阅图片格 ...

  8. mp4转换成gif怎么转?

    mp4转gif,mp4转换成gif怎么转?mp4是最重要也是最常见的视频文件格式,而gif是动态图片的主要格式,有时候因为某些原因,在工作或者学习中需要将mp4视频转换成gif动图,那么你知道从何下手 ...

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

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

最新文章

  1. ab url 带参数 测试
  2. 绝对路径VS相对路径
  3. lambda 匿名内部类_Lambda运行时内部:窥视无服务器巢穴
  4. php string常用函数
  5. 无法打开计算机的组策略,win7系统电脑本地组策略打不开无法运行的解决方法...
  6. 加速AI计算生态构建,华为昇腾布道西安开发者
  7. java链式语法_javaScript链式调用原理以及加法实现
  8. 很NB的发现两个linux server 开发人或者站点(back-end-facility,codeday盛大代号:小虾米)
  9. 22长安杯——个人赛
  10. 这款台灯,不仅能护眼,还能点读和互动
  11. teamview被限制使用的解决办法
  12. Linux 多个留后门姿势
  13. UE4 C++入门——动画蒙太奇 学习笔记
  14. nant_强制NAnt使用.NET Framework的特定版本进行构建和运行
  15. Python:利用Pillow库创建字符画
  16. 操作系统 图形窗口 子系统
  17. python商品打折问题_利用Python“解剖”双11商家打折套路
  18. Docker镜像和容器相关命令
  19. 一文读懂谷歌I/O 新硬件、Android Q及多项功能升级
  20. C语言 十进制转二进制补码(正负都可) 指针 初学

热门文章

  1. wince6下载地址
  2. LVGL lv_cont 容器(8)
  3. 服务器主机安装win10系统稳定吗,服务器主机上安装win10
  4. PRACH过程中RA-RNTI和C-RNTI的作用
  5. 适合学生写的请假管理系统
  6. 2021寒假MISC打卡DAY16
  7. ERROR: Failed to create toolchain
  8. echarts自定义区域地图
  9. 机器人局部避障的动态窗口法(dynamic window approach) DWA
  10. java switch基础介绍及具体使用方法