数据库规范化理论习题

合集下载

数据库原理 第四章关系数据库理论期末习题与答案

数据库原理 第四章关系数据库理论期末习题与答案

1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是()。

A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑正确答案:A2、下列关于规范化理论各项中正确的是()。

A.对于一个关系模式来说,规范化越深越好B.满足第二范式的关系模式一定满足第一范式C.第一范式要求---非主码属性完全函数依赖关键字D.规范化一般是通过分解各个关系模式实现的,但有时也有合并正确答案:B3、X→Y能从推理规则导出的充分必要条件是()。

A.B.C.D.正确答案:D4、两个函数依赖集F和G等价的充分必要条件是()。

A.B.C.D.5、设有关系模式R(A,B,C,D,E),函数依赖集F={A→B,B→C,C→D,D→A},ρ={AB,BC,AD}是R上的一个分解,那么分解ρ相对于F()。

A.既是无损连接分解,又是保持函数依赖的分解B.是无损连接分解,但不是保持函数依赖的分解C.不是无损连接分解,但是保持函数依赖的分解D.既不是无损连接分解,也不是保持函数依赖的分解正确答案:D6、关系模式中,满足2NF的模式()。

A.可能是1NFB.必定是1NFC.必定是3NFD.必定是BCNF正确答案:B7、不能使一个关系从第一范式转化为第二范式的条件是()。

A.每一个非主属性都完全函数依赖于主码B.每一个非主属性都部分函数依赖于主码C.关系中没有非主属性D.主码由一个属性构成正确答案:B二、判断题1、关系模式的分解是唯一的。

(错)2、一个关系模式属于BC范式,它一定属于第三范式。

(对)3、在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,称函数依赖X→Y为完全函数依赖。

(错)4、函数依赖集F={A→B,B→C,C→A,C→B,A→C,BC→A},它的最小函数依赖集Fmin={A→B,B→C,A→C}。

(错)三、填空题1、被函数依赖集F逻辑蕴涵的函数依赖的全体构成的集合,称为。

正确答案:函数依赖集F的闭包2、设有关系模式R(A,B,C,D,M,N),函数依赖集F={N→D,M→D,D→B,BC→D,DC→N},R的候选码为。

数据库5版第七章规范化理论例题解答

数据库5版第七章规范化理论例题解答

关系数据库规范化理论例题解答⊄(⊆⊂∈∉)例:证明定理 Armstrong公理是正确的,即如果F成立,则由F根据Armstrong公理所推导的函数依赖总是成立的。

设有R(U,F),X、Y、Z均是U的子集,F是R的函数依赖集,推理规则如下:A1:自反律(reflexivity)如果Y ⊆X ⊆U,则X→Y为F所蕴涵。

A2:增广律(augmentation)如果X→Y为F所蕴涵,且Z⊆U,则XZ→YZ为F的所蕴涵。

(XZ代表X∪Z)A3:传递律(transitivity)如果X→Y和Y→Z为F所蕴涵,则X→Z为F的蕴涵。

证:设t1,t2是关系R中的任意两个元组。

A1:如果t1[X]=t2[X],则因Y X,有t1[Y]=t2[Y],故X→Y成立。

A2:如果t1[XZ]=t2[XZ],则有t1[X]=t2[X],t1[Z]=t2[Z]。

已知X→Y成立,因此可得t1[Y]=t2[Y],由上可知t1[YZ]=t2[YZ],故XZ→YZ成立。

A3:如果t1[X]=t2[X],则t1[Y]=t2[Y];如果t1[Y]=t2[Y],则t1[Z]=t2[Z]由上可得,如果t1[X]=t2[X],则t1[Z]=t2[Z],故X→Z成立。

例:证明定理根据三条推理规则得到下面三条推理规则是正确的。

(1) 合并规则由X→Y,X→Z,有X→YZ。

(2) 伪传递规则由X→Y,WY→Z,有XW→Z。

(3) 分解规则如果X→Y,且Z ⊆ Y,则X→Z成立。

证: (1) 如果X→Y,则X→XY (A2)如果X→Z,则XY→YZ (A2)由上可得X→YZ (A3)(2) 如果X→Y,则WX→WY (A2)WY→Z (已知条件)故得WX→Z (A3)(3) 如果Z⊆Y,则Y→Z (A1)X→Y (已知条件)故得X→Z (A3)例:证明定理 X→Y能由Armstrong公理推导出的充要条件是Y⊆X + F证:设Y={A1,A2,…,Ak},先证充分性:假定Y ⊆X +F,则根据X+F的定义,X→Ai(i=1,2,…,k)可由Armstrong公理导出,根据合并规则则有X→Y。

数据库标准化与规范化考试

数据库标准化与规范化考试

数据库标准化与规范化考试(答案见尾页)一、选择题1. 数据库标准化与规范化的目的是什么?A. 提高数据完整性B. 减少数据冗余C. 增加数据独立性D. 提高查询效率2. 数据库标准化分为几个等级?(选择所有符合的选项)A. 1级B. 2级C. 3级D. 4级3. 数据库规范化是为了解决数据冗余问题,它的主要原理是什么?A. 通过分解表来减少数据冗余B. 通过统一数据结构来减少数据冗余C. 通过建立数据之间的依赖关系来减少数据冗余D. 通过建立数据之间的函数依赖来减少数据冗余4. 什么是第一范式(NF)?它的主要特点是什么?A. 每个属性都是原子的B. 表中所有行的同名属性取值相同C. 可以将多个表合并成一个表D. 以上都不是5. 什么是第二范式(NF)?它的前提条件是什么?A. 部分函数依赖B. 完全函数依赖C. 第一范式D. 以上都不是6. 什么是第三范式(NF)?它进一步消除了什么类型的冗余?A. 冗余数据B. 部分函数依赖C. 完全函数依赖D. 以上都不是7. 什么是第四范式(NF)?它是在什么情况下使用的?A. 当数据仓库中使用B. 当处理多对多关系时C. 当不存在非主属性对候选键的部分函数依赖时D. 以上都不是8. 什么是应用程序无关的数据模型?(选择所有符合的选项)A. 关系模型B. 面向对象模型C. 对象关系模型D. 以上都不是9. 什么是内模式(也称物理模式)?它的主要特点是什么?A. 定义了数据库中全体数据的逻辑结构和特征B. 定义了数据库中数据的物理结构和特征C. 包含了数据库系统的全部软件D. 包含了数据库系统的所有数据10. 什么是外模式(也称子模式或用户模式)?它的主要作用是什么?A. 定义了数据库中全体数据的逻辑结构和特征B. 定义了用户可以看见和使用的局部数据的描述和表示C. 包含了数据库系统的全部软件D. 包含了数据库系统的所有数据11. 数据库标准化主要目的是什么?A. 提高数据安全性B. 降低数据冗余C. 提高数据完整性D. 保证数据一致性12. 数据库规范化是为了解决数据冗余、插入异常、删除异常和更新异常等问题。

第5章-关系数据库规范化理论-复习题

第5章-关系数据库规范化理论-复习题
(客房号,床位号 收) 费标准
对于某个床位在某个时间是由特定的住客入住的: (客 ,床 房 ,位 住 号 号 宿 ( 日 住 期 ,客 预 ) ,身 付 退份 款 房证 日
根据上述函数依赖,可以求得关系模式的候选键为: (客房号,床位号,住宿日期)
2021/5/23
7
关系模式收费中: 主属性:客房号,床位号,住宿日期 非主属性:住客身份证号,住客姓名,性别,地址,收费标准, 退房日期,预付款。 根据关系模式存在的函数依赖有非主属性收费标准为候选键部分 依赖关系,所以关系模式最高直达到第一范式。如何将关系模式 进行分解使其达到第二范式。 收费标准(客房号,床位号,收费标准) 住宿(客房号,床位号,住宿日期,住客身份证,住客姓名, 性别,地址,退房日期)
解:关系R存在的函数依赖有
(商店编号,商) 品 编 部号 门编号
(商店编号,部) 门 编 负号 责人
(商店编号,商) 品 编 数号 量
2021/5/23
4
利用函数依赖求候选键: L类属性:商店编号,商品编号;LR类:部门编号;R类:负责人 数量。而且(商店编号,商品编号)+=U,所以关系模式R的候 选键为(商店编号,商品编号)。 判断R属于第几范式: 非主属性为:部门编号,负责人,数量。它们对候选键都是完全函 数依赖关系,所以R是满足第二范式的。但是,
2021/5/23
3
3、假设某商业集团数据库有一关系模式R如下: R(商店编号,商品编号,数量,部门编号,负责人)
现规定:1、每个商店的每种商品只在一个部门销售。 2、每个商店的每个部门只有一个负责人。 3、每个商店的每种商品只有一个库存数量。
回答下列问题:1、写出R的基本函数依赖 2、找出关系模式R的候选键 3、关系模式R最高达到第几范式?为什么

数据库设计与关系规范化考试

数据库设计与关系规范化考试

数据库设计与关系规范化考试(答案见尾页)一、选择题1. 数据库设计中,规范化的主要目的是什么?A. 减少数据冗余B. 增加数据完整性C. 提高查询效率D. 保证数据一致性2. 关系数据库中的关系模型是什么?A. 二维表结构B. 三维表结构C. 非结构化数据结构D. 结构化数据结构3. 在关系数据库中,什么是第一范式(NF)?A. 表中所有列都是原子类型B. 表中所有行都是相同的结构C. 每个非主属性都完全函数依赖于主键D. 表中所有列都与另一个列存在依赖关系4. 在关系数据库中,什么是第二范式(NF)?A. 表中所有列都是原子类型B. 表中所有行都是相同的结构C. 每个非主属性都完全函数依赖于主键D. 表中所有列都与另一个列存在依赖关系5. 在关系数据库中,什么是第三范式(NF)?A. 表中所有列都是原子类型B. 表中所有行都是相同的结构C. 每个非主属性都完全函数依赖于主键D. 表中所有列都与另一个列存在依赖关系6. 数据库规范化是为了解决什么样的问题?A. 数据冗余B. 数据不一致性C. 数据完整性D. 查询效率7. 在关系数据库中,什么是外键(Foreign Key)?A. 用来连接两个不同数据表的数据列B. 用来标识数据表的唯一性C. 用来定义数据的层次结构D. 用来保证数据的参照完整性8. 在关系数据库中,什么是内键(Inner Key)?A. 用来连接两个不同数据表的数据列B. 用来标识数据表的唯一性C. 用来定义数据的层次结构D. 用来保证数据的参照完整性9. 在关系数据库中,什么是候选键(Candidate Key)?A. 表中所有列都是原子类型B. 表中所有行都是相同的结构C. 表中所有非主属性都完全函数依赖于主键D. 表中所有列都与另一个列存在依赖关系10. 在关系数据库中,什么是主键(Primary Key)?A. 表中所有列都是原子类型B. 表中所有行都是相同的结构C. 表中所有非主属性都完全函数依赖于主键D. 表中所有列都与另一个列存在依赖关系11. 关系数据库中的关系模型是基于什么概念设计的?A. 数据库管理系统(DBMS)B. 数据结构C. 数据库管理员(DBA)D. 数据模型12. 在关系数据库中,哪一个操作不属于数据查询操作?A. 选择B. 投影C. 连接D. 分组13. 关系数据库的规范化是为了解决什么样的问题?A. 数据冗余B. 数据完整性C. 数据安全性D. 数据一致性14. 什么是第一范式(NF)?它要求数据库中的每一个属性都满足什么条件?A. 属性不可再分B. 属性可以再分C. 属性有意义D. 属性不重复15. 在关系数据库中,哪一个术语用来描述一个关系模式的两个实体集之间的联系?A. 外键B. 子表C. 联系D. 标准16. 什么是第二范式(NF)?它如何解决与第一范式(NF)的区别?A. 它要求每个非主属性完全函数依赖于整个候选键B. 它要求每个非主属性都不传递依赖于其他非主属性C. 它要求所有属性都是原子的D. 它要求属性之间没有依赖关系17. 什么是第三范式(NF)?它进一步解决了什么问题?A. 它消除了非主属性对候选键的部分函数依赖B. 它消除了非主属性对候选键的传递函数依赖C. 它要求所有属性都是必要的D. 它要求属性之间没有依赖关系18. 什么是第四范式(NF)?它解决了什么问题?A. 它消除了非主属性对候选键的传递和部分函数依赖B. 它消除了非主属性对候选键的传递和完全函数依赖C. 它要求所有属性都不传递依赖于其他非主属性D. 它要求属性之间没有依赖关系19. 什么是全外键?它在关系数据库中的作用是什么?A. 它是一个表中的一个字段,它的值引用了另一个表中的主键B. 它是一个表中的字段,它的值引用了另一个表中的唯一键C. 它是一个表中的字段,它的值引用了另一个表中的主键或唯一键D. 它是一个表中的字段,它的值引用了另一个表中的任何字段20. 什么是数据库的三级模式结构?它包括哪三个层次?A. 外模式、模式和内模式B. 用户模式、全局模式和子模式C. 存储模式、逻辑模式和物理模式D. 外模式、模式和存储模式21. 在关系数据库中,哪一个操作符用于撤销插入、更新或删除操作?A. DELETEB. ROLLBACKC. COMMITD. CASCADE22. 在关系数据库设计中,哪一个范式要求确保数据完整性?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. 第四范式(4NF)23. 什么是关系数据库中的外键约束?它的作用是什么?A. 限制关系表中的数据行数量B. 保证关系表中的数据一致性C. 限制关系表中的列数据类型D. 保证关系表中的数据完整性24. 在关系数据库中,哪一个关键字用于唯一标识表中的每一行?A. IDB. PRIMARY KEYC. UNIQUED. FOREIGN KEY25. 什么是关系数据库中的连接操作?它有哪些类型?A. 内连接B. 外连接C. 交叉连接D. 连接操作26. 在关系数据库中,哪一个操作符用于修改关系表中的数据?A. INSERTB. UPDATEC. DELETED. CREATE27. 什么是关系数据库中的候选键?它有什么特点?A. 候选键是唯一标识表中每一行的关键字段B. 候选键可以有多个C. 候选键必须包含主键D. 候选键不能包含空值28. 在关系数据库中,哪一个操作符用于排序关系表中的数据?A. ORDER BYB. GROUP BYC. DISTINCTD. JOIN29. 什么是关系数据库中的触发器?它的作用是什么?A. 作为关系数据库的附加功能,用于执行特定的操作B. 作为关系数据库的默认功能,用于执行特定的操作C. 触发器是一种数据库对象,用于自动执行特定的操作D. 触发器是一种数据库对象,用于强制实施数据完整性30. 在关系数据库中,键(Key)的作用是什么?A. 唯一标识表中的每行记录B. 唯一标识表中的每列记录C. 表示实体间的联系D. 维护数据的物理排序31. 什么是第一范式(NF)?它要求数据库中的表满足什么条件?A. 表中所有列都是原子类型B. 表中所有行都是相同的结构C. 表中所有列都必须依赖于主键D. 表中所有列的部分依赖主键32. 什么是第二范式(NF)?它如何解决第一范式中的问题?A. 消除非主键列对主键的部分依赖B. 消除非主键列之间的函数依赖C. 消除非主键列对主键的完全依赖D. 消除非主键列与主键之间的函数依赖33. 什么是数据库的正常记录数和附加记录数?A. 正常记录数是数据库中有效数据的数量B. 附加记录数是数据库中无效数据的数量C. 正常记录数加上附加记录数等于数据库的总数据量D. 正常记录数和附加记录数的总和等于数据库的总数据量34. 在数据库设计中,什么是外键(Foreign Key)?A. 用于唯一标识表中的每一行记录B. 用于表示实体间的联系C. 唯一标识表中的每一列记录D. 作为表之间关系的约束条件35. 什么是触发器(Trigger)?它在数据库中的作用是什么?A. 用于自动执行特定的SQL语句B. 用于强制数据完整性C. 用于实现事务的原子性D. 用于备份数据库36. 在数据库系统中,什么是索引(Index)?它有什么优点和缺点?A. 用于快速查询数据库中的特定数据B. 提高查询性能C. 创建索引可以增加数据库的规模D. 索引会占用额外的存储空间,并可能降低写入性能37. 在关系数据库中,什么是外键?它有什么作用?A. 外键是一个表中的列,其值引用另一个表的主键列。

关系数据库规范化理论练习试卷1(题后含答案及解析)

关系数据库规范化理论练习试卷1(题后含答案及解析)

关系数据库规范化理论练习试卷1(题后含答案及解析) 题型有:1. 选择题 2. 填空题选择题(每小题1分,共60分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.以下哪一条属于关系数据库的规范化理论要解决的问题?______。

A.如何构造合适的数据库逻辑结构B.如何构造合适的数据库物理结构C.如何构造合适的应用程序界面D.如何控制不同用户的数据操作权限正确答案:A 涉及知识点:关系数据库规范化理论2.下列关于函数依赖的规则中,哪一条是正确的?______。

A.若X→Y,WY→Z,则XW→ZB.若XY,则X→YC.若XY→Z,则X→Z,Y→ZD.若X∩Y=Φ,则X→Y正确答案:A 涉及知识点:关系数据库规范化理论3.在关系模式R中,称满足下面哪一个条件的X→→Y为平凡的多值依赖?______。

A.U-X-Y=ΦB.X∩Y=ΦC.X是单个属性D.Y是单个属性正确答案:A 涉及知识点:关系数据库规范化理论4.关系模式R中若没有非主属性,则______。

A.R属于2NF,但R不一定属于3NFB.R属于3NF,但R不一定属于BCNFC.R属于BCNF,但R不一定属于4NFD.R属于4NF正确答案:B 涉及知识点:关系数据库规范化理论下列问题基于如下描述:有关系模式P(C,S,T,R,G),根据语义有如下函数依赖集:F{C→T,ST→R,TR→C,SC→G}。

5.下列属性组中的哪一个(些)是关系P的候选码?______。

Ⅰ.(C,S) Ⅱ.(C,R) Ⅲ.(S,T) Ⅳ.(T,R) Ⅴ.(S,R) A.只有ⅢB.Ⅰ和ⅢC.Ⅰ、Ⅱ和ⅣD.Ⅱ、Ⅲ和Ⅴ正确答案:A 涉及知识点:关系数据库规范化理论6.关系模式P的规范化程度最高达到______。

A.1NFB.2NFC.3NFD.BCNF正确答案:B 涉及知识点:关系数据库规范化理论7.现将关系模式P分解为两个关系模式P1(C,T,R),P2(C,3,G),那么这个分解______。

关系数据库规范化理论复习题

关系数据库规范化理论复习题

第7章关系规范化理论一、单项选择题1.关系规范化中的删除操作异常是指①,插入操作异常是指②。

A.不该删除的数据被删除 B.不该插入的数据被插入C.应该删除的数据未被删除 D.应该插入的数据未被插入答案:①A ②D2.设计性能较优的关系模式称为规范化,规范化主要的理论依据是。

A.关系规范化理论 B.关系运算理论C.关系代数理论 D.数理逻辑答案:A3.规范化理论是关系数据库进行逻辑设计的理论依据。

根据这个理论,关系数据库中的关系必须满足:其每一属性都是。

A.互不相关的 B.不可分解的C.长度可变的 D.互相关联的答案:B4.关系数据库规范化是为解决关系数据库中问题而引入的。

A.插入、删除和数据冗余 B.提高查询速度C.减少数据操作的复杂性 D.保证数据的安全性和完整性答案:A5.规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及的缺陷。

A.数据的不一致性 B.结构不合理C.冗余度大 D.数据丢失答案:C6.当关系模式R(A,B)已属于3NF,下列说法中是正确的。

A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常C.一定属于BCNF D.A和C都是答案:B7. 关系模式1NF是指_________。

A. 不存在传递依赖现象B. 不存在部分依赖现象C.不存在非主属性 D. 不存在组合属性答案:D8. 关系模式中2NF是指_______。

A.满足1NF且不存在非主属性对关键字的传递依赖现象B.满足1NF且不存在非主属性对关键字部分依赖现象C.满足1NF且不存在非主属性D.满足1NF且不存在组合属性答案:B9. 关系模式中3NF是指___________。

A.满足2NF且不存在非主属性对关键字的传递依赖现象B.满足2NF且不存在非主属性对关键字部分依赖现象C.满足2NF且不存在非主属性D.满足2NF且不存在组合属性答案:A10.关系模型中的关系模式至少是。

A.1NF B.2NF C.3NF D.BCNF答案:A11.关系模式中,满足2NF的模式,。

数据库标准化与规范化设计考试

数据库标准化与规范化设计考试

数据库标准化与规范化设计考试(答案见尾页)一、选择题1. 数据库标准化的主要目的是什么?A. 提高数据安全性B. 降低数据冗余C. 简化数据管理D. 提高数据一致性2. 关系数据库中的规范化是为了解决什么样的问题?A. 数据完整性问题B. 数据操作复杂性C. 数据冗余和不一致性D. 数据存储效率低3. 在数据库设计中,第二范式(NF)要求满足什么条件?A. 非主属性完全函数依赖于整个候选键B. 非主属性部分函数依赖于整个候选键C. 非主属性不传递依赖于其他非主属性4. 什么是第三范式(NF)?它解决了什么问题?A. 解决了非主属性传递依赖于其他非主属性的问题B. 解决了非主属性部分函数依赖于其他非主属性的问题C. 解决了数据完整性问题5. 什么是数据库规范化,为什么需要它?A. 规范化是为了消除数据冗余B. 规范化是为了简化数据库设计C. 规范化是为了提高数据查询性能D. 规范化是为了保证数据的一致性和完整性6. 在数据库设计中,为什么需要避免反范式?A. 可以减少数据冗余B. 可以避免查询效率低下C. 可以避免更新异常D. 可以避免插入异常7. 什么是数据库索引,它有什么作用?A. 索引可以提高数据检索速度B. 索引可以优化数据排序C. 索引可以唯一标识数据库中的每一行D. 索引可以保证数据完整性8. 什么是数据库触发器,它有什么作用?A. 触发器可以自动执行一些预定义的操作B. 触发器可以保证数据完整性C. 触发器可以优化数据库性能D. 触发器可以防止SQL注入攻击9. 在数据库设计中,什么是外键约束,它有什么作用?A. 外键约束可以确保数据一致性B. 外键约束可以唯一标识数据库中的每一行C. 外键约束可以防止数据冗余D. 外键约束可以优化数据库性能10. 数据库标准化与规范化设计的主要目的是什么?A. 提高数据安全性B. 减少数据冗余C. 增强数据完整性D. 提高数据查询效率11. 在数据库设计中,规范化是为了避免下列哪种情况?A. 数据不一致性B. 数据冗余C. 数据操作困难D. 数据丢失12. 数据库规范化是为了解决数据设计中的哪一问题?A. 数据完整性不足B. 数据操作困难C. 数据冗余和不一致性D. 数据查询效率低13. 关系数据库中的规范化理论主要涉及哪些关系范式?A. 1NF(第一范式)B. 2NF(第二范式)C. 3NF(第三范式)D. BCNF(Boyce-Codd范式)14. 在数据库设计中,什么是第一范式(NF)?它要求数据库表中的每一列都具有什么特点?A. 每列都是文本类型B. 每列都是数字类型C. 每列都是主键D. 每列的唯一值能唯一标识一行数据15. 以下哪个不是规范化设计的原则?A. 最小化数据冗余B. 确保数据一致性C. 避免使用外键D. 设计可复用的数据库模式16. 在关系数据库中,第二范式(NF)要求满足什么条件?A. 每个非主键列完全函数依赖于整个候选键B. 每个非主键列完全函数依赖于主键C. 每个非主键列部分函数依赖于主键D. 每个非主键列依赖于其他非主键列17. 为什么规范化设计可以减少数据冗余?A. 规范化设计避免了数据的重复记录B. 规范化设计使得数据结构更加紧凑C. 规范化设计有助于更好地组织数据D. 规范化设计增加了数据存储空间的需求18. 什么是BCNF范式?它比第三范式有何优势?A. BCNF范式是第三范式的超集,它要求所有决定因素都是候选键B. BCNF范式比第三范式更严格,因为它要求所有决定因素都是候选键C. BCNF范式比第三范式更宽松,因为它允许存在多余的函数依赖D. BCNF范式是第四范式,它要求所有决定因素都是候选键19. 在数据库设计中,如何平衡规范化与性能?A. 尽量避免使用外键B. 合理安排数据的存储方式C. 使用索引来提高查询效率D. 适当降低规范化级别,以牺牲一些数据完整性20. 在数据库设计中,规范化是一种()手段。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

规范化理论习题1. 解释下列名词:函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、候选关键字、主关键字、全关键字、1NF、2NF、3NF、BCNF、多值依赖、4NF、连接依赖、5NF、最小函数依赖集、无损分解函数依赖:FD(function dependency),设有关系模式R(U),X,Y是U的子集, r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y], 则称X函数决定Y,或Y函数依赖于X,记为X→Y。

X→Y为模式R的一个函数依赖。

部分函数依赖:即局部依赖,对于一个函数依赖W→A,如果存在X W(X包含于W)有X→A成立,那么称W→A是局部依赖,否则称W→A为完全依赖。

完全函数依赖:见上。

传递函数依赖:在关系模式中,如果Y→X,X→A,且X Y(X不决定Y), AX(A不属于X),那么称Y→A是传递依赖。

候选关键字:设K 为关主关键字:若关系模式R有多个候选码,则选定其中一个作为主关键字(Primary Key),有时也称作为主码。

全关键字:若关系模式R整个属性组都是码,称为全关键字(All Key)或全码。

1NF:第一范式。

如果关系模式R的所有属性的值域中每一个值都是不可再分解的值, 则称R是属于第一范式模式。

如果某个数据库模式都是第一范式的,则称该数据库存模式属于第一范式的数据库模式。

第一范式的模式要求属性值不可再分裂成更小部分,即属性项不能是属性组合和组属性组成。

2NF:第二范式。

如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称是第二范式模式;如果某个数据库模式中每个关系模式都是第二范式的,则称该数据库模式属于第二范式的数据库模式。

(注:如果A是关系模式R的候选键的一个属性,则称A是R的主属性,否则称A是R 的非主属性。

) 。

3NF:第三范式。

如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。

如果某个数据库模式中的每个关系模式都是第三范式,则称为3NF的数据库模式。

BCNF:BC范式。

如果关系模式R是第一范式,且每个属性都不传递依赖于R 的候选键,那么称R是BCNF的模式。

多值依赖:设R(U)是属性集U上的一个关系模式,X,Y,Z是U的子集,并且Z=U-X-Y, 用x,y,z分别代表属性集X,Y,Z的值,只要r是R的关系,r中存在元组(x,y1,z1)和(x,y2,z2)时,就也存在元组(x,y1,z2)和(x,y2,z1),那么称多值依赖(MultiValued Dependency MVD) X→→Y在关系模式R中成立。

4NF:第四范式。

设R是一个关系模式,D是R上的多值依赖集合。

如果D中成立非平凡多值依赖X→→Y时, X必是R的超键,那么称R是第四范式的模式。

连接依赖:关系模式R(U)中,U是全体属性集,X,Y,…,Z是U的子集,当且仅当R是由其在X,Y,…,Z上投影的自然连接组成时,称R满足对X,Y,…,Z的连接依赖。

记为JD(X,Y,…,Z)。

5NF:关于模式R中,当且仅当R中每个连接依赖均为R的候选码所蕴涵时,称R属于5NF。

最小函数依赖集:如果函数集合F满足以下三个条件:(1)F中每个函数依赖的右部都是单属性; (2)F中的任一函数依赖X→A,其F-{X→A}与F是不等价的;(3)F中的任一函数依赖X→A,Z为X的子集,(F-{X→A})∪{Z→A}与F不等价。

则称F为最小函数依赖集合,记为Fmin。

无损分解:设R是一个关系模式,F是R上的一个依赖集,R分解为关系模式的集合ρ={R1(U1),R2(U2), …,Rn(Un)}。

如果对于R中满足F的每一个关系r,都有r=∏R1(r) ∏R2(r) …∏Rn(r)则称分解相对于F是无损连接分解(lossingless join decomposition),简称为无损分解,否则就称为有损分解(lossy decomposition)。

2. 现要建立关于系、学生、班级、学会等信息的一个关系数据库。

语义为:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区,每个学生可参加若干学会,每个学会有若干学生。

描述学生的属性有:学号、姓名、出生日期、系名、班号、宿舍区;描述班级的属性有:班号、专业名、系名、人数、入校年份;描述系的属性有:系名、系号、系办公室地点、人数;描述学会的属性有:学会名、成立年份、地点、人数、学生参加某会有一个入会年份。

⑴请写出关系模式。

⑵写出每个关系模式的最小函数依赖集,指出是否存在传递依赖,在函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖,还是部分依赖。

⑶指出各个关系模式的候选关键字、外部关键字,有没有全关键字。

解:各关系模式如下:学生(学号,姓名,出生年月,系名,班级号,宿舍区)班级(班级号,专业名,系名,人数,入校年份)系(系名,系号,系办公地点,人数)社团(社团名,成立年份,地点,人数)加入社团(社团名,学号,学生参加社团的年份)学生(学号,姓名,出生年月,系名,班级号,宿舍区)●“学生”关系的最小函数依赖集为:Fmin={学号→姓名,学号→班级号,学号→出生年月,学号→系名,系名→宿舍区}●以上关系模式中存在传递函数依赖,如:学号→系名,系名→宿舍区●候选键是学号,外部键是班级号,系名。

注意: 在关系模式中,如果Y→X,X→A,且X Y(X不决定Y), A不属于X,那么称Y→A是传递依赖。

班级(班级号,专业名,系名,人数,入校年份)●“班级”关系的最小函数依赖集为:Fmin={(系名,专业名)→班级号,班级号→人数,班级号→入校年份,班级号→系名,班级号→专业名}(假设没有相同的系,不同系中专业名可以相同)●以上关系模式中不存在传递函数依赖。

●“(系名,专业名)→班级号”是完全函数依赖。

●候选键是(系名,专业名),班级号,外部键是系名。

系(系名,系号,系办公地点,人数)●“系”关系的最小函数依赖集为: Fmin={系号→系名,系名→系办公地点,系名→人数,系名→系号}●以上关系模式中不存在传递函数依赖●候选键是系名,系号社团(社团名,成立年份,地点,人数)●“社团”关系的最小函数依赖集为: Fmin={社团名→成立年份,社团名→地点,社团名→人数}●以上关系模式中不存在传递函数依赖。

●候选键是社团名加入社团(社团名,学号,学生参加社团的年份)●“加入社团”关系的最小函数依赖集为: Fmin={(社团名,学号)→学生参加社团的年份}●“(社团名,学号)→学生参加社团的年份”是完全函数依赖。

●以上关系模式中不存在传递函数依赖。

●候选键是(社团名,学号)。

3. 设关系模式R(A,B,C,D),函数依赖集F={A→C,C→A,B→AC,D→AC,BD→A}。

1)求出R的候选码;2)求出F的最小函数依赖集;3)将R分解为3NF,使其既具有无损连接性又具有函数依赖保持性。

解:(1)根据函数依赖可得:属性B、D、BD为L类(仅出现在F的函数依赖左部)。

且在函数依赖的左部和右部均未出现的属性为0。

根据定理:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,则X必为R 的任一候选码的成员。

因此属性B、D必为候选码的成员。

且它们的闭包为:BF +=ABC,DF+=ACD,BDF+=ABCD再根据推论:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,且XF+包含了R的全部属性,则X必为R的唯一候选码。

故BD是R的唯一候选码。

所以R的候选码为BD。

(2)将F中所有函数依赖的依赖因素写成单属性集形式:F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A}F中的B→C可以从B→A和A→C推导出来,B→C是冗余的,删掉B→C可得:F={A→C,C→A,B→A,D→A,D→C,BD→A}F中的D→C可以从D→A 和 A→C推导出来,D→C是冗余的,删掉D→C可得:F={A→C,C→A,B→A,D→A,BD→A}F中的BD→A可以从B→A 和 D→A推导出来,是冗余的,删掉BD→A可得:F={A→C,C→A,B→A,D→A }所以F的最小函数依赖集Fmin={A→C,C→A,B→A,D→A }。

(3) 由于R中的所有属性均在Fmin中都出现,对F按具有相同左部的原则分为:R1=AC,R2=BA,R3=DA。

其中,U1={A,C},U2={B,A},U3={D,A},F1= F1=∏U1={A→C},F2=∏U2={B→A},F3=∏U3={D→A}。

所以ρ={R1(AC),R2(BA),R3(DA) }。

4.设关系模式R(A,B,C,D,E,F),函数依赖集F={A B→E,BC→D,BE→C,CD→B,CE→AF,CF→BD,C→A,D→EF},求F的最小函数依赖集。

解:①利用分解规则,将所有的函数依赖变成右边都是单个属性的函数依赖,得F为:F ={A B→E,BC→D,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F}②去掉F中多余的函数依赖A.设AB→E为冗余的函数依赖,则从F中去掉AB→E,得:F1={ BC→D,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D →F}+:计算(AB)F1设X(0)=AB计算X(1):扫描F1中各个函数依赖,找到左部为AB或AB子集的函数依赖,因为找不到这样的函数依赖。

故有X(1)=X(0)=AB,算法终止。

+= AB不包含E,故AB→E不是冗余的函数依赖,不能从F中去掉。

即:(AB)F1F1={ A B→E,BC→D,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F}B.设BC→D为冗余的函数依赖,则从F1中去掉BC→D,得:F2={A B→E,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D →F}+:计算(BC)F2设X(0)=BC计算X(1):扫描F2中的各个函数依赖,找到左部为BC或BC子集的函数依赖,得到一个C→A函数依赖。

故有X(1)=X(0)∪A=BCA=ABC。

计算X(2):扫描F2中的各个函数依赖,找到左部为ABC或ABC子集的函数依赖,得到一个A B→E函数依赖。

故有X(2)=X(1)∪E=ABCE。

计算X(3):扫描F2中的各个函数依赖,找到左部为ABCE或ABCE子集的函数依赖,得到三个BE→C,CE→A和 CE→F 函数依赖。

故有X(3)=X(2)∪CAF=ABCEF。

计算X(4):扫描F2中的各个函数依赖,找到左部为ABCEF或ABCEF子集的函数依赖,得到二个CF→B和CF→D 函数依赖。

相关文档
最新文档