BCNF 的分解是数据库范式的内容

分解的算法是这样的

将关系模式R分解为一个BCNF的基本步骤是

1).检查R中关系模式是否符合BCNF,若都符合输出即可

2)若R中有关系模式S不符合BCNF,则必有X->A的闭包不包含S的全部属性,把S分为{S1,S2},其中S1=XA,S2=(S-A)X,分别计算其最小函数依赖集,并将{S1,S2}代替S代入第一步中。

这里面有几点说明的

如何检查关系模式是否满足BCNF呢

对每一个函数依赖求他们的闭包,如果闭包的结果是U,那么他是符合BCNF的,如果不是,就违反,就可以从这一个函数依赖来分解。(所以分解的方法有很多,不止一种)

如何求最小依赖集

若函数依赖集F满足下列条件,则称F为最小函数依赖集。记为: F’或Fm。(不唯一)

(1) F’的所有函数依赖的右部均为单属性;

(2) F中不存在这样的函数依赖X->A,使得F与F-{X-A}等价。 (3)

F中不存在这样的函数依赖X->A, X有真子集Z使得F-{X->A}∪{Z->A}与F等价。

求BCNF的关键之处就在于最小函数依赖的求法,需要合并一些蕴含的,可传递的函数依赖。

例题:

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

解:

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

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

③ 分解R:考虑A→C函数依赖不满足BCNF条件(A所以不是候选关键码),将其分解成R1(AC)、R2(ABDE)。计算R1和R2的最小函数依赖集分别为:F1={A→C},F2={B→D,DE→D,BE→A}。其中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={B→D,BE→A}。

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

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

bcnf分解算法_BCNF的保持无损连接的分解相关推荐

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

  2. bcnf分解算法_BCNF题解

    设有关系模式 R ( A , B , C , D , E , G )上的函数依赖集为: F={ A → B , B → C , AD → G , D → E } .求解: 31 .求关系模式 R 的所 ...

  3. 四、转换成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 ...

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

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

  5. 转换成BCNF的无损连接分解

    算法: 例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&l ...

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

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

  7. bcnf分解算法_数据库规范化:模式分解算法(3NF,BCNF分解,附带口诀,通俗易懂)...

    前言 在理解模式分解的时候,发现模式分解算法比较难懂.于是想出了一个通俗易懂的解法,并且配有速记口诀!让模式分解再也难不倒你. 知识储备 首先在了解模式分解之前,你需要对数据库规范化有一定的了解.这里 ...

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

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

  9. 关系模式判断候候选关键字 与 函数依赖无损连接

    关系模式判断候候选关键字 与 函数依赖无损连接 例题:设关系模式R(U, F),其中R上的属性集U={A, B, C, D, E},R上的函数依赖集F={A→B,DE→B,CB→E,E→A,B→D}. ...

  10. 一个无损连接和保持函数依赖性的3nf分解

    满足下列条件的函数依赖集F称为正则覆盖,记作Fc: 1)Fc 与 F 等价 2)Fc 中任何函数依赖都不含无关属性 3)Fc 中函数依赖的左半部都是唯一的 R={F,G,H,I,J},候选码是JH,F ...

最新文章

  1. 如何隐藏sql2000系统表
  2. 51CTO平台老男孩教育精品视频全场5-6折,错过了,再等一年!
  3. RocketMQ实战与原理---安装、部署及简单应用
  4. object的实例是 python_Python:type、object、class与内置类型实例
  5. 【网络通信与信息安全】之深入解析TCP与UDP传输协议
  6. hadoop学习;安装jdk,workstation虚拟机v2v迁移;虚拟机之间和跨物理机之间ping网络通信;virtualbox的centos中关闭防火墙和检查服务启动...
  7. 构造函数怎么在主函数调用_C++ 虚基类及其派生类构造函数(学习笔记:第7章 12)...
  8. win10计算机修改底色,win10电脑如何修改登陆背景
  9. [Python+sklearn] 计算混淆矩阵 confusion_matrix()函数
  10. 一次搭建Spark集群(standalone、yarn、高可用)
  11. oracle去除逗号函数,oracle逗号分隔函数
  12. XcodeGhost相关的十个问题
  13. 华为 任正非 2021年1月22日 最新内部电邮全文
  14. 泛微oa流程表单之取值弹窗
  15. 最佳阵容 | Flutter Firebase 插件更新
  16. 基于 STM32对音频数据的 Flash 读取与 DAC 播放
  17. ACA-PEG-MAL,丙烯酰胺PEG马来酰亚胺
  18. 苹果手机经常开低电量模式,对电池会有影响吗?
  19. Kafka单机部署学习演示案例
  20. MFC绘制有理柱面和圆锥面

热门文章

  1. msdn我告诉你win10哪个是专业版
  2. “女主播翻车”骂声不断,店湾妹感慨:主播界怎么了?三观已毁!
  3. android url带参数传递,android平台通过http post方式向远程URL传递参数并获取返回数据...
  4. 【PHP练习】每日词汇,随机产生10个单词,方便备考随时背诵(php+html+css)
  5. 【智衡跨境电商shopee运营】Shopee平台流量入口有哪些?
  6. VirtualBox搭建OpenWrt软路由
  7. sql更新语句中update set from用法
  8. python爬取本地文本中的成语_Python爬取成语:从3字到12字
  9. 保留两位小数除法算式_小数除法计算题
  10. 计算机调用打印机打印流程图,Windows打印体系结构之本地打印任务处理流程①...