BCNF的保持无损连接的分解

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

分解的算法是这样的

将关系模式R<U,F>分解为一个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,F>,其中: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)}

  • 18
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
1. 在数据库设计中,用E-R图来描述信息结构是数据库设计的(B) 求分析阶段 概念设计阶段 逻辑设计阶段 物理设计阶段 2. 在关系数据库设计阶段中,完成关系模式设计的阶段是(C) 求分析阶段 概念设计阶段 逻辑设计阶段 物理设计阶段 3. 下列不属于数据库实施阶段任务的是(C) 建立数据库 数据加载 扩充功能 系统调试 4. 数据流程图是结构化设计的工具,用于数据库设计的(D) 可行性分析阶段 程序设计阶段 系统详细设计阶段 求分析阶段 5. 计算机软硬件系统的确定是在数据库设计的(D) 系统开发之前 概念设计阶段 逻辑设计阶段 物理设计阶段 6. 数据字典产生于数据库设计步骤的(A) 求分析阶段 概念设计阶段 逻辑设计阶段 物理设计阶段 7. 从数据流程图和数据字典出发,首先得到数据库的(A) 概念结构 逻辑结构 物力结构 用户试图 8. 对数据库模式进行规范化处理,实在数据库设计的(C) 求分析阶段 概念设计阶段 逻辑设计阶段 物理设计阶段 9. 数据库试运行的主要工作包括(C) 程序测试和性能测试 性能测试和应用测试 功能测试和性能测试 功能测试和应用测试 10. 在整个设计过程中,最困难、最耗费时间的阶段是(A) 求分析阶段 概念设计阶段 逻辑设计阶段 物理设计阶段 11. 在关系模式R(U,F)中,如果X->Y,存在X的真子集X1,使X1->Y,称函数依赖X- >Y为(B ) 平凡函数依赖 部分函数依赖 完全函数依赖 传递函数依赖 12. 在关系模式R(U,F)中,R中任何非主属性对键完全函数依赖是R 3NF的(B) 充分必要条件 必要条件 充分条件 既不充分也不必要条件 13. 在关系模式R(U,F)中,对任何非平凡的函数依赖X- >Y,X均包含键,则R最高可以达到(C) 2NF 3NF BCNF 4NF 14. 对关系模式进行分解时,要求分解具有无损连接性,在下属范式中,最高可以达到( D) 2NF 3NF BCNF 4NF 15. 在关系模式R(U,F)中,X、Y、Z都是属性,且X->Y、Y->Z,则X->Z是(C) 一定是传递函数依赖 一定不是传递函数依赖 不一定是传递函数依赖 如果x是单一属性,则是传递函数依赖 16. 在关系模式R(U,F)中,R 3NF且具有唯一的候选键,则(B) R属于3NF不属于BCNF R一定属于BCNF R不一定属于BCNF 当候选键是单属性时,R属于BCNF 17. 在下列叙述中,正确的是(D) 对于关系数据模型,规范化程度越高越好 如果F是最小函数依赖集,则R 2NF 如果R BCNF,则F是最小的函数依赖集 关系模式分解BCNF后,函数依赖关系可能被破坏 18. 关系数据库规范化要解决的问题是:插入异常、删除异常和(A) 数据冗余 保障数据安全性 查询复杂 控制数据完整性 19. 为数据库建立索引是数据库设计 物理设计 阶段的任务。 20. 数据库设计包含 结构 特性的设计和 行为 特性的设计 21. 数据字典是系统中各类 数据描述 的集合,是进行详细的数据收集和 数据分析 所获得的主要成果。 22. 数据字典通常包含数据项、数据结构 数据流、数据存储和 处理过程 五个部分。 在对关系模式进行分解时,满足 无损失链接 ,才能不丢失数据信息。 已知:关系模式R(U,F),U=ABCDEG,F={A->B,C->G,E->A,CE->D} 求: R的候选码 R最高属于哪级范式 1)CE 2)INF 已知:关系模式R(U,F),U=CTSNG,F={C->T,CS->G,S->N} 求: R的候选码 R最高属于哪级范式 (1)CS(2)INF 已知:关系模式R(U,F),U=ABCD,F={A->C,C->A,B->AC,D->AC} 求: F的最小函数依赖集 R的候选码 R最高属于哪级范式 1)最小函数依赖集:Fmin={A C,C A,B A,D A} (2)候选码:BD(3)INF 已知:关系模式R(U,F),U=ABCDE,F={A->D,E->D,D->B,BC->D,CD->A} 求: F的最小函数依赖集 R的候选码 将R分解为3NF (1)F的最小函数依赖集是: Fmin={A D,E D,D B,BC D,CD A} (2)R的候选码是:CE (3)将R分解为3NF:P={AD,DE,BD,BCD,ACD} ----------------------- 在数据库设计中全文共3页,当前为第1页。 在数据库设计中全文共3页,当前为第2页。 在数据库设计中全文共3页,当前为第3页。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值