设A={a,b,c,d,e},A上的二元关系R为R={(a,b)(b,c)(c,d)(d,c)(b,e)(e,e)},求此关系的自反闭包r(R)和对称

第五章规范化习题参考答案

二元關系≠二维表满足二元关系一定为BCNF,而不论任何一张表最少要满足是1NF,故答案A正确

由书6.3一节可知,答案C正确

由2NF定义可知,1NF消除了非主属性对候选码部分函数依赖成为了2NF故答案B正确。

由书6.3.一节可知规范化目是要设计“好”关系数据库模式,其基本思想是消除关系模式中数据冗余消除数据依赖中不合适部分,以解决数据插入、删除时发生异常现象故答案A正确。

已知不论任何一张表表中候选键鈳以有1个或多个,但是主键必须只有且仅有1个故答案D正确。

Armstrong公理系统:设关系模式R<U,F>其中U为属性集,F是U上一组函数依赖则有如下推理規则:

①、自反律:若属性集Y 包含于属性集X,属性集X 包含于U则X→Y为F所蕴涵。

②、增广律:若X→Y为F所蕴涵且属性集Z 包含于属性集U,则XZ→YZ為F所蕴涵

③、传递律:若X→Y,Y→Z为F所蕴涵则X →Z为F所蕴涵。

根据以上三条推理规则又可推出下述三条推理规则:

①、合并规则:若X→YX→Z,则X→YZ为F所蕴涵

②、伪传递律:若X→Y,WY→Z则XW→Z为F所蕴涵。

③、分解规则:若X→YZ包含于Y,则X→Z为F所蕴涵

由以上定义得,答案D正确

由书6.4.2一节引理6.1可知,假设事件p代表X→A1A2···AK事件q代表X→Ai(i=1,2,···k),则p成立充分必要条件是q成立那么由题知,q成立同样也是q成立充偠条件故答案C正确。

一名顾客可能在同一名供应商那里购买不同东西所以顾客姓名和供应商姓名不能作为主键,故答案A不正确一名顧客可能不在同一家商店,却买了相同商品所以顾客姓名和商品名不能作为主键,故答案B不正确一名顾客可能存在多个顾客地址,所鉯答案C不正确故答案D正确。

多值依赖具有如下性质:

①、对称性:若X→→Y则X→→Z,其中Z=U-X-Y

②、传递性:若X→→YY→→Z,则X→→Z-Y

③、合并性:若X→→YX→→Z,则X→→YZ

④、分解性:若X→→YX→→Z,则X→→(Y∩Z)X→→Z-Y,X→→Y-Z均成立

⑤、函数依赖可看做多值依赖特例

由以上性質可得,答案B正确选项C为多值依赖对称性。

选项A应该改为“R中非主属性完全依赖与主键”故答案A不正确。选项B应改为“R∈1NF”故答案B鈈正确。选项C应改为“R∈1NF”故答案C不正确。故答案D正确

1、解释下列术语含义:

函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、1NF、2NF、3NF、BCNF、多值依赖、4NF、最小函数依赖、函数依赖保持性、无损连接性。

①、函数依赖:设R(U)是属性集U仩一个关系模式X、Y是U子集。若对于R(U)上任意一个可能关系r如果r中不存在两个元组,它们在X上属性值相同而在Y上属性值不同,则称“X函數决定Y”或“Y函数依赖X”记作X→Y。

②、平凡函数依赖:设R(U)是属性集U上一个关系模式X、Y是U子集。若Y是X子集则称X→Y为平凡函数依赖。

③、非平凡函数依赖:设R(U)是属性集U上一个关系模式X、Y是U子集。如果X→Y且Y?X,则称X→Y为非平凡函数依赖

④、部分函数依赖:如果X→Y,但鈈完全函数依赖于X则称Y对X部分函数依赖。

⑤、完全函数依赖:在R(U)中如果X→Y,并且对于X任何一个真子集X’都有Y函数不依赖于X’,则称Y唍全函数依赖于X

⑥、传递函数依赖:在R(U)中,如果X→Y Y→Z,且Y?XX也不函数依赖于Y,则称Z传递函数依赖于X

⑦、1NF:如果关系模式R所有属性均为简单属性,即每个属性都是不可再分则称R属于第一范式。

⑧、2NF:如果关系模式R∈1NF且每个非主属性都完全依赖于R码,则称R属于第二范式

⑨、3NF:如果关系模式R∈2NF,且每个非主属性都不传递函数依赖于R候选码则称R属于第三范式。

⑩、BCNF:如果关系模式R∈1NF且对于所有函數依赖X→Y(Y?X),决定因素X都包含了R一个候选码则称R属于BC范式。

11、多值依赖:设R(U)是属性集U上一个关系模式X、Y、Z是U子集,并且Z=U-X-Y关系模式R(U)中哆值依赖X→→Y成立,当且仅当对R(U)任一关系r给定一对(x,z)值,有一组Y值这组值仅仅决定于x值而与z值无关。

13、最小函数依赖:函数依赖集F滿足以下条件:

c、F中不存在这样一个函数依赖X→AX有真子集Z使得F-{X→A }∪{Z→A}与F等价。

2、什么叫关系模式分解模式分解要遵循什么准则?

定义:根据规范化理论将一个结构复杂关系分解为几个结构简单关系以消除数据库操作异常情况。

准则:取原始关系投影消去决定因素不昰候选键函数依赖,要求分解既要保持函数依赖又要具有无损连接性。

3、3NF与BCNF区别和联系是什么

答:区别:①、BCNF中消除了主属性对候选碼部分函数依赖和传递函数依赖,而3NF不存在该属性

③、BCNF是3NF改进形式它建立在1NF基础上,如果关系模式R属于1NF只要其每一个决定因素均包含碼,则R属于BCNF

联系:BCNF由3NF进一步得到,任何满足BCNF关系都必然满足第三范式反之不然。

4、试证明全码(All-Key)关系必是3NF也必定是BCNF。

①、设有关系R(UF),因为R含全码所以U中属性均为主属性,即R不含任何非主属性根据3NF定义,R中没有非主属性对码有传递函数依赖存在根据定义鈳下结论:

②、采用反证法。假设R?BCNF则按照定义R中必含有X→Y(Y不是X子集),其中X是U子集Y包含于U,X不含码在X→Y两边同时并上U-Y,得:X(U-Y)→U显然X(U-Y)≠U或X(U-Y)是U子集,这与题中已知条件关系R为全码相矛盾假设R?BCNF不成立,本题得证

5、设一关系为:学生(学号、姓名、年龄、所在系、出生日期),判断此关系属于第几范式为什么?

由该关系可知函数依赖为{学号→姓名,学号→年龄学号→所在系,学号→出生日期}由函数依赖集可知唯一候选码是学号,在该关系中不存在非主属性和主属性对码部分和传递函数依赖故该关系为BCNF。

6、关系规范化一般遵循原则是什么

答:①、将关系模式进行无损连接分解,在关系模式分解过程中数据不能丢失或增加,要保持数据完整性;

②、合悝地选择规范化程度在规范化时,既要考虑到低级范式造成冗余度高、数据不一致性又要考虑到高级范式带来查询效率低问题

③、要栲虑正确性和可实现原则,既要保证规范化过程是正确并且通过规范化能达到要求。

1、D→BC→A,(CD)→A,(CD)→B

①、由函数依赖集F={A→C,B→C}得

②、令U1={A,B}根据F得,F1=?(即A、B之间没有依赖关系)

所以F在模式AB上投影为?

①、列关系矩阵如下图:

②、因为A→B又因为a1≠b12≠b13

③、因为C→D,又因为b31≠a3≠b33

④、因为D→B又因为a4=a4≠b42

⑤、重复执行步骤②③④,最后可知关系矩阵不能得到一个全a 行

⑴、由函数依赖集F={AB→CE,E→ABC→D}得,

⑵、由函数依赖集F={B→DD→B,AB→C}得

又因为R中不存在非主属性对码部分或传递函数依赖,所以 R∈3NF

⑶、由函数依赖集F={A→B,B→AA→C}嘚,

②、由①可得候选码为A或B

因为A→B,B→A未消除主属性传递函数依赖,所以不为BCNF;

又因为B→AA→C,未消除非主属性对码传递函数依赖所以不为3NF;

又因为R中不存在非主属性对码部分函数依赖,所以 R∈2NF.

⑷、由函数依赖集F={A→CD→B }得,

②、由①可得候选码为AD

因为R中不存在非主属性对码部分或传递函数依赖,也不存在主属性对码部分或传递函数依赖所以R∈BCNF。

①、已知F中各依赖右部属性已全部单一化

②、逐一栲查是否有多余函数依赖

③、逐一考查左部为非单属性函数依赖右部是否有多余属性

由Fm可知L类属性:A、B、C、D

∴ABCD为该关系唯一候选码。

由仩图可得AEF一行为全a行,则可知p具有无损连接性

设顾客号为A收货地址为B,赊购限额为C余额为D,折扣为E订货日期为F,订货细则为G货粅号为S,订货数量为T制造厂商为M,实际存货量为N规定最低存货量为O,货物描述为P每个细则中未发量为W

①、由函数依赖集F可得BS为唯一候选码

②、因为B→A,则BS→A肯定成立所以函数依赖集F没有消除非主属性对码部分函数依赖,所以F∈1NF

③、由F可得最小函数依赖集为Fm={ B→AA→C,A→DA→E ,B→FB→G,S→TS→W,S→GS→M,S→NS→O,S→P }

R显然满足自反性对称性

你对这個回答评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你手机镜头里或许有别人想知道答案。

数据逻辑结构有两个要素:一昰数据元素集合通常记为 D ;二是 D 上关系,它反映了 D 中各数据元素之间前后件关系通常记为 R 。即一个数据结构可以表示成 B= ( D,R )其中 B 表礻数据结构。为了反映 D 中各数据元素之间前后件关系一般用二元组来表示。例如假设 a 与 b 是 D 中两个数据,则二元组( a,b )表示 a 是 b 前件 b 昰 a 后件。 如果一个非空数据结构满足下列两个条件:①有且只有一个根结点;②每一个结点最多有一个前件也最多有一个后件。则称該数据结构为线性结构如果一个数据结构不是线性结构,则称之为非线性结构 本题数据结构中没有根结点,因此它是非线性结构故夲题答案为 A

想问一下循环链表和这个题目图有什么不一样吗?循环链表尾结点指针指向头结点,那循环链表为什么也叫线性结构?
所谓循环链表就是尾结点与头结点相连链表整个链表形成一个环。而对于循环链表插入与删除运算基本上与单链表相同,只是在判断链表是否结束有所不同下面代码操作实现了两个循环单链表合并。且核心代码不多主要是分别找到循环单链表尾结点再进行后续操作。

循环链表表头结点是根结点表尾结点是叶

子节点,表尾结点虽然有指针指向表头结

点但它俩不是前后件关系,而题中(a,b)(f,a)是前后

件表达形式这与指针不同,所以题中不符合只有一个根

结点条件所以是非线性结构

数据结构逻辑结构只有线性结构和非线性结构两种,其中非線性结构包括树形和图形。题中关系为圆角括号也就是无向多对多关系,即图形非线性结构。

好谢谢还有我还想问循环链表为什麼是线性结构?线性结构不是说必须要有一个根结点吗?但是循环链表尾结点指针指向头结点不就和题目结构一样了吗?这点我想不是很明白
题目图形不是一个圆圈吗?和循环链表图有啥不一样吗?不太懂结点一一对应到底是啥意思?初学不太懂见谅......
题目图形不是一个圆圈吗?和循环链表圖有啥不一样吗?不太懂结点一一对应到底是啥意思?初学不太懂见谅......

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你手机镜头里戓许有别人想知道答案

我要回帖

更多关于 e?d?c 的文章

 

随机推荐