数据库理论作业 第八章

8.29

考虑如下关系模式r(A,B,C,D,E,F)上的函数依赖集F:

A->BCD BC->DE B->D D->A

  • a.计算B+

    最初result=B;

    由于B->D,故result=B∪D=BD;

    由于D->A,故result=BD∪A=ABD;

    由于A->BCD,故result=ABD∪BCD=ABCD;

    由于BC->DE,故result=ABCD∪DE=ABCDE;

    最终结果为B+=ABCDE

  • b.(使用Armstrong公理)证明AF是超码

    由于A->BCD,故A->ABCD(增补率,两边增补A)

    由于BC->DE,故ABCD->ABCDE(增补率,两边增补ABCD)

    因此A->ABCDE(传递率)

    因此AF->ABCDEF(增补率,两边增补F)

    因为AF可以推出所有属性,即AF的闭包包含所有属性,故AF是超码

  • c.计算上述函数依赖集F的正则覆盖;给出推导步骤并解释

    首先观察可知无左侧元素相同的可合并的函数依赖,因此查看无关属性。由于B->D,因此在A->BCD和BC->DE中D均为无关属性(A->B,B->D,故A->D,因此A->BC结合A->D可以推出A->BCD;B->D故BC->D,因此BC->E结合BC->D可以说明BC->DE;因此D为无关属性),因此式子可以简化为:

    A->BC BC->E B->D D->A

    由于B->D,D->A,A->BC,因此B->C,因此BC->E中C为无关属性,因此可简化为:

    A->BC B->E B->D D->A

    左侧为B的有两项,可合并:

    A->BC B->DE D->A

    发现当前无无关属性,因此此时即为F的正则覆盖

  • d.基于正则覆盖,给出r的一个BCNF分解

    由于正则覆盖中没有多余的函数依赖,因此属性集是正则覆盖中其他函数依赖组成的子集,因此这里的三个函数依赖都有自己的关系:r1(A,B,C) r2(B,D,E) r3(D,A) 然后我们发现属性F并不在其中,因为AF是超码且上述的关系中并没有原关系的超码,因此需要添加 r4(A,F)

    因此最终结果为:r1(A,B,C) r2(B,D,E) r3(D,A) r4(A,F)

  • e.利用原始的函数依赖集,给出r的一个BCNF分解

    start: r={A,B,C,D,E,F}

    由于A->BCD但A不是超码,故r不满足BCNF,进行分解:

    step1:r= r1(A, B, C, D),r2(A, E, F)

    由于A->E是F+中的函数依赖,因此r2不满足BCNF,进行分解

    step2:r=r1(A, B, C, D),r2(A, F),r3(A, E)

    检验可得现在均符合BCNF

  • f.你能否利用正则覆盖得到与上面的r相同的BCNF分解?

    若想通过正则覆盖得到与上面r相同的BCNF分解,直接进行BCNF分解是不行的,需要通过从正则覆盖推断出原始函数依赖并将其进行BCNF分解才能够得到相同的BCNF分解

8.33

给定一个关系模式r(A,B,C,D),A->->BC是否逻辑蕴含A->->B和A->->C?如果是请证明,如果不是请举出反例

答:不能推导。

首先构造一个简单的r(A,B,C,D),使其满足A->->BC,较容易写出来:

A B C D
a1 b1 c1 d1
a1 b2 c2 d2
a1 b1 c1 d2
a1 b2 c2 d1

这个表格中A->->BC成立。

如果该A->->B可以成立,则以下式子需要成立:

  1. t1[A]=t2[A]=t3[A]=t4[A]
  2. t3[B]=t1[B]
  3. t3[R-B]=t2[R-B]
  4. t4[B]=t2[B]
  5. t4[R-B]=t1[R-B]

显然,式子3和式子5不成立,故A->->B不成立,同理A->->C不成立。

即A->->BC不能推出A->->B和A->->C成立

主要原因在于多值依赖是较为复杂的,不仅单纯设计到相关属性,与别的属性也相关。

数据库理论作业 第八章 29 33相关推荐

  1. 留学生计算机辅导理论作业题目-数据库相关

    目录 前言 一.CS 348 - Homework 3 总结 前言 留学生计算机辅导理论作业题目整理,有辅导需要私聊或者加同名wx 一.CS 348 - Homework 3 说明 数据库的增删改查的 ...

  2. oracle 教学内容,oracle数据库理论教学大纲.doc

    oracle数据库理论教学大纲 Oracle数据库 一.课程基本信息 课程名称Oracle数据库课程代码R3550039英文名称ORACLE Database归属学科 (系.部)计算机应用技术学 分2 ...

  3. 数据库大作业 openGauss程序设计

    本文最终实现一个Web在线考试管理系统,可作为Python Web,Django的练手项目. 摘要 本系统实现学生在线考试管理的基本功能,包括学生登录.查看自己的个人信息及考试信息:提供了在线考试的界 ...

  4. MySQL数据库设计作业 ——《网上书店系统》数据库设计实验报告

    数据库设计作业--<网上书店系统>数据库设计 一.功能需求 普通用户:可以进行最基础的登陆操作,可浏览图书.按类别查询图书.查看 图书的详细信息,还可以注册成为会员. 会员:需要填写详细信 ...

  5. java大作业用jsp数据库java_JSP数据库大作业 - 不是太阳也要发光的个人页面 - OSCHINA - 中文开源技术交流社区...

    本人QQ:240814476  欢迎大家提问,共同学习,共同进步. 最近做了一个数据库大作业啊,想用JSP做,发现代码量好大,在做前台的时候感觉手忙脚乱,没时间. 可能是本人拖了太久的原因吧 . 做的 ...

  6. 电子科大互加数据库课程作业——ER图设计

    电子科大互加数据库课程作业--ER图设计 书上习题P95, 第18题 (1) (2) 关系模型,转换为3个关系 Convoy(车队名.车队号) Car(牌照号.厂家.出厂日期.车队号) Driver( ...

  7. 专科mysql数据库大作业_数据库大作业整理·总

    能找到这里的小同学,我们可能是校友哦. 这个不正经的帖子来整理一下我们用pyqt5+eric6+mysql开发天气管理系统(17地市)的所有走过的路,尤其是我走弯路后的修正路线. 因为找了一些资料,看 ...

  8. 数据库大作业代码展示2

    因为上个界面实在是太卡了,尤其在c#代码里,打字都是延缓的,所以分开来展示. 这一个主要是管理员界面的介绍,窗口调用如下: ManageMain窗口:(管理员主界面)省略代码和前文一样, (学生管理) ...

  9. 数据库理论【刘新宇】

    数据库理论 1. 复制集与分布式 复制集(Replication) 数据库中数据相同,起到备份作用 高可用 High Available HA 分布式(Distribution) 数据库中数据不同,共 ...

最新文章

  1. qthread destroyed while thread is still running
  2. python链表翻转_反转链表(两种Python解法)
  3. ABAP-SQL基础知识
  4. 第一代计算机主要应用领域为数据处理,第一代计算机主要应用领域为____。    A.数据处理 B.人工智能 C.科学计算 D.过程控制...
  5. qt同时连接oracle和mysql_QT连接Oracle和Mysql的详细步骤,已成功~!
  6. Ubuntu 安装 Kafka
  7. 服务器内部错误文件接收失败,您的接收电子邮件服务器报告发生内部错误.docx...
  8. SVN客户端的使用方法
  9. 再见了,少年——转自有意思吧
  10. 概率论第六章——矩估计
  11. HTML Purifier解决XSS问题
  12. There were 16888 failed login attempts since the last successful login
  13. java 当前线程 等待_Java 多线程等待
  14. 作为一名合格的大学生,如何在B站愉快的学习
  15. 二阶常系数齐次线性微分方程的解法
  16. 汽车冬季养护小知识,Get起来!
  17. 私域运营第十三讲:企业微信需不需要养号?
  18. 2016 UESTC Training for Data Structures J - 郭大侠与Rabi-Ribi CDOJ 1334 优先队列
  19. 中国东极岛,“挑战吧净味君第二季之一级带货王”巅峰成团赛,名单揭晓!
  20. SBAS-InSAR输出数据不正确的问题

热门文章

  1. html点击div等元素隐藏光标
  2. 手把手实现MATLAB的CNN回归
  3. 瑞萨单片机RL78-时钟
  4. date_format的使用:将“秒”转换为yyyy-mm-dd
  5. Android AlarmManager
  6. 中国电子信息制造产业运营模式及未来投资方向建议报告2022版
  7. 试述3种基本结构的特点,请另外设计两种基本结构
  8. 从苹果皮到网络解锁助手
  9. 人人车公布2019年新战略:成立8千万元基金 加大品牌广告投放
  10. 独家 | 离开百度后,王劲创办的景驰将于2020年6月量产自动驾驶汽车