关系数据理论课后答案

合集下载

关系数据库规范化理论常见试题及答案

关系数据库规范化理论常见试题及答案

关系数据库规范化理论常见试题及答案1.关系规范化中的操作异常有哪些?它是由什么引起的?解决的办法是什么?答:关系规范化中的操作异常有插入异常、更新异常和删除异常,这些异常是由于关系中存在不好的函数依赖关系引起的.消除不良函数依赖的办法是进行模式分解,即将一个关系模式分解为多个关系模式。

2.第一范式、第二范式和第三范式的关系的定义是什么?答:不包含非原子项属性的关系就是第一范式的关系;对于第一范式的关系,如果此关系中的每个非主属性都完全函数依赖于主键,则此关系属于第二范式;对于第二范式的关系,如果所有的非主属性都不传递依赖于主键,则此关系就是第三范式的。

3.什么是部分依赖?什么是传递依赖?请举例说明。

答:部分依赖关系是指某个属性只由构成主键的部分列决定,而和另一些列无关。

例如对关系:学生选课(学号,姓名,课程号,成绩),此关系的主键是(学号,课程号),而“姓名”列只由“学号”决定,与“课程号”无关,这就是部分依赖关系。

传递依赖指的是某个非主键属性是由另一个非主键属性决定的,而这个非主键属性再由主键决定。

例如对关系:学生(学号、姓名、所在系,系主任),此关系的主键为(学号),而“系主任”由“所在系”决定,“所在系”又由“学号”决定,因此“系主任”对“学号”是传递依赖关系.4.第三范式的表是否一定不包含部分依赖关系?答:是的.5.对于主键只由一个属性组成的关系,如果它是第一范式关系,则它是否一定也是第二范式关系?答:是的。

因为如果一个关系的主键只由一个属性组成,则此关系中一定不会存在部分依赖关系。

6.设有关系模式:学生修课管理(学号,姓名,所在系,性别,课程号,课程名,学分,成绩).设一名学生可以选修多门课程,一门课程可以被多名学生选修。

一名学生有唯一的所在系,每门课程有唯一的课程名和学分。

请指出此关系模式的候选键,判断此关系模式是第几范式的;若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键.答:候选键为:(学号,课程号),它也是此关系模式的主键。

关系数据理论练习题答案

关系数据理论练习题答案

关系数据理论练习题一、选择题1. 在关系数据库中,下列哪个术语表示表中的列?A. 元组B. 属性C. 字段D. 记录A. JOINB. UNIONC. INTERSECTD. EXCEPT3. 设有关系R(A, B, C),下列哪个选项是R上的投影操作?A. πA,B(R)B. σA,B(R)C. τA,B(R)D. γA,B(R)4. 设有关系R(A, B)和S(B, C),下列哪个选项是R与S的自然连接操作?A. R × SB. R ⨝ SC. R ∩ SD. R ∪ S二、填空题1. 关系数据库中的基本结构是______,它用来表示实体集和实体集之间的联系。

2. 若关系R和S进行自然连接,则R与S必须具有______属性。

3. 在关系数据库中,______操作用于从关系中选取满足条件的元组。

4. 设有关系R(A, B, C),则投影操作πA(R)的结果是______。

三、判断题1. 关系数据库中的每一列都有一个唯一的名称,称为属性名。

()2. 关系模型中,元组的位置可以任意交换。

()3. 自然连接是一种特殊的等值连接,要求两个关系中进行比较的分量必须是相同的属性组。

()4. 投影操作会改变原关系中的属性顺序。

()四、简答题1. 请简述关系数据库的三个范式。

2. 什么是函数依赖?请举例说明。

3. 什么是关系的规范化?为什么需要对关系进行规范化?4. 请解释主键和外键的概念。

五、综合题六、设计题图书(包含书名、作者、出版社、出版日期、ISBN等)读者(包含读者ID、姓名、性别、电话、邮箱等)借阅(包含借阅ID、图书ISBN、读者ID、借阅日期、归还日期等)学生(学号,姓名,性别,年龄,专业)课程(课程号,课程名,学分,教师编号)教师(教师编号,姓名,职称,电话)七、SQL编程题2. 假设有一个“订单”表,包含字段:订单ID(主键)、客户ID、订单日期、订单金额。

请编写SQL语句,查询2021年所有订单金额大于1000元的订单信息。

第06章关系数据理论习题课

第06章关系数据理论习题课
1NF 2NF 3NF BCNF 4NF 5NF
各种范式之间存在联系:
1NF 2NF 3NF BCNF
…4N…F
某一关系模式R为第n范式,可简记为R∈nNF。
19
19
课堂练习题:
下列关于关系模式规范化的叙述中,哪一 条是不正确的?( ) (A) 若R∈4NF,则必然R∈3NF (B) 若R∈3NF,则必然R∈2NF (C) 若R∈2NF,则必然R∈1NF (D) 若R∈3NF,则必然R∈BCNF 解析:D
龄,成绩,教师姓名,教师年龄,教师办公室)。假设 一门课程只有一名教师讲授,而且教师不重名。
试回答下列问题: (1)存在哪些基本函数依赖?该关系模式的候选码是
什么?有哪些主属性? (2)有部分依赖吗?若有,请写出两个? 有传递依赖吗?若有,请写出一个? (3)关系模式教务最高达到第几范式?为什么? (4)如何分解可消除关系模式中的部分函数依赖? (5)分解后达到了几范式?分解是无损连接分解? (6)分别指出各个关系模式的主码和外码
设R(U)是一个属性集U上的关系模式,X和Y是U的子 集。若对于R(U)的任意一个可能的关系r,r中不可能存在 两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。
6
函数依赖的基本概念
× √ × × × √
7
7
基本概念
解析:
⑴函数依赖是最基本的、也是最重要的一种数据依赖。
20
20
测验
1.关系数据库规范化是为解决关系数据库中的_______问 题而引入的。
A.操作异常和数据冗余 B.提高查询速度 C.减少数据操作的复杂性 D.保证数据的安全性和完整性
2.假设关系模式属于R(A,B)属于3NF,下列说法中_____ 是正确的。

关系数据库理论考试

关系数据库理论考试

关系数据库理论考试(答案见尾页)一、选择题1. 关系数据库中的基本概念是什么?A. 数据库、关系、元组、列、行B. 数据库、关系、元组、属性、域C. 数据库、关系、元组、属性、主键D. 数据库、关系、元组、属性、外键2. 关系数据库中的数据完整性是什么意思?A. 数据的一致性和准确性B. 数据的完整性和一致性C. 数据的可靠性和有效性D. 数据的完整性和可靠性3. 在关系数据库中,哪一个操作是插入操作?A. 在表中添加一条记录B. 创建一个新的关系C. 更新已存在的记录D. 从关系中删除一条记录4. 关系数据库中的关系模型是什么?A. 二维表格模型B. 非结构化数据模型C. 层次模型D. 网状模型5. 在关系数据库中,哪一个操作是查询操作?A. 在表中添加一条记录B. 创建一个新的关系C. 更新已存在的记录D. 从关系中检索数据6. 关系数据库中的事务是什么?A. 一系列操作的集合,这些操作必须按顺序执行,要么全部成功,要么全部失败B. 一系列操作的集合,这些操作可以并行执行,但必须保证数据的一致性C. 一系列操作的集合,这些操作必须按顺序执行,而且可以是并发的D. 一系列操作的集合,这些操作可以并行执行,但不要求数据的一致性7. 在关系数据库中,哪一个操作是更新操作?A. 在表中添加一条记录B. 创建一个新的关系C. 更新已存在的记录D. 从关系中删除一条记录8. 关系数据库中的索引是什么?A. 一种数据结构,用于快速查找和排序B. 一种数据结构,用于快速查找和连接C. 一种数据结构,用于快速查找和分组D. 一种数据结构,用于快速查找和排序,以及连接和分组9. 在关系数据库中,哪一个操作是删除操作?A. 在表中添加一条记录B. 创建一个新的关系C. 更新已存在的记录D. 从关系中删除一条记录10. 关系数据库中的规范化是什么?A. 一种设计数据库的方法,旨在减少数据冗余B. 一种设计数据库的方法,旨在增加数据冗余C. 一种设计数据库的方法,旨在保持数据的一致性和完整性D. 一种设计数据库的方法,旨在允许数据的不一致性和重复11. 在关系数据库中,哪一个术语用来描述一个关系中的行与列之间的关系?B. 属性C. 关系D. 子表12. 关系数据库中的ACID属性指的是什么?A. 原子性、一致性、隔离性、持久性B. 原子性、一致性、隔离性、持久性C. 原子性、一致性、隔离性、持久性D. 原子性、一致性、隔离性、持久性13. 在关系数据库设计中,哪一个工具或技术用来构建和分析关系模型?A. E-R图B. 数据流程图C. 实体-关系图D. IFE矩阵14. 关系数据库中的规范化是为了解决什么样的问题?A. 保证数据的完整性B. 减少数据冗余C. 提高查询效率D. 确保数据的可靠性15. 在关系数据库中,哪一个操作用来插入新的记录?A. 创建B. 插入C. 更新D. 删除16. 关系数据库中的数据分割是将数据分成多个部分的过程,这个过程是什么?A. 分区B. 分片C. 抽象17. 在关系数据库中,哪一个概念用来描述关系中的列?A. 主键B. 外键C. 候选键D. 列18. 关系数据库中的三范式是什么?A. 第一范式(1NF)、第二范式(2NF)、第三范式(3NF)B. 第一范式(1NF)、第二范式(2NF)、第三范式(BCNF)C. 第一范式(1NF)、第二范式(2NF)、第三范式(4NF)D. 第一范式(1NF)、第二范式(2NF)、第三范式(CNF)19. 关系数据库中,如何唯一标识表中的每一行?A. 主键B. 外键C. 候选键D. 组合键20. 在关系数据库中,什么是外键?A. 用于唯一标识表中的每一行的字段B. 用于建立两个表之间的关联的字段C. 用于定义表之间的关系模式的字段D. 用于加密的数据字段21. 在关系数据库中,什么是触发器?A. 一种数据库对象,用于自动执行特定的操作B. 一种数据库对象,用于定义和执行一系列操作C. 一种数据库对象,用于强制数据完整性D. 一种数据库对象,用于备份和恢复数据22. 关系数据库中的视图是什么?A. 一种虚拟表,其内容来自一个或多个表的查询结果B. 一种虚拟表,其内容来自一个或多个表的查询结果,具有可更新性C. 一种虚拟表,其内容来自一个或多个表的查询结果,具有可更新性,并且可以优化查询性能D. 一种虚拟表,其内容来自一个或多个表的查询结果,具有可更新性,并且可以优化查询性能,同时支持高级搜索功能23. 关系数据库中的游标是什么?A. 一种用于从数据库检索数据的机制B. 一种用于从数据库检索数据的机制,具有迭代功能C. 一种用于从数据库检索数据的机制,具有迭代功能和查询优化功能D. 一种用于从数据库检索数据的机制,具有迭代功能,并且可以优化查询性能24. 关系数据库中的关系模式是什么?A. 定义了数据的结构和关系B. 定义了数据的结构和关系,以及数据的完整性约束C. 定义了数据的结构和关系,以及数据的完整性约束,以及数据的操作规则D. 定义了数据的结构和关系,以及数据的完整性约束,以及数据的操作规则,并且可以优化查询性能25. 关系数据库中的关系模型是由谁提出的?A. 关系数据库之父:E.F. CoddB. MySQL的创始人:Michael WideniusC. Oracle数据库的创始人:Larry EllisonD. Google的创始人:Larry Page26. 在关系数据库中,哪一个操作符用于执行选择操作?A. ANDB. ORC. SELECTD. BETWEEN27. 关系数据库中的数据完整性规则包括哪些类型?A. 域完整性规则B. 实体完整性规则C. 引用完整性规则D. 用户定义完整性规则28. 在关系数据库中,哪一个术语用于描述在数据库中表示数据的结构?A. 表格B. 属性C. 主键D. 外键29. 关系数据库中的联接操作有哪些类型?A. 内联接(INNER JOIN)B. 左外联接(LEFT JOIN)C. 右外联接(RIGHT JOIN)D. 完全联接(FULL OUTER JOIN)30. 在关系数据库中,哪一个操作符用于执行排序操作?A. ORDER BYB. GROUP BYC. DISTINCTD. HAVING31. 关系数据库中的数据分割策略有哪些类型?A. 投影分割B. 列分割C. 行分割D. 分区32. 在关系数据库中,哪一个操作符用于执行并操作?A. UNIONB. INTERSECTC. EXCEPTD. MINUS33. 关系数据库中的事务特性包括哪些?A. 原子性(Atomicity)B. 一致性(Consistency)C. 隔离性(Isolation)D. 持久性(Durability)34. 在关系数据库中,哪一个术语描述了表中行的集合?A. 结构B. 属性C. 子集D. 域35. 关系数据库中的数据完整性是指什么?A. 确保数据的一致性、准确性和完整性B. 确保数据在存储过程中不被修改C. 确保数据在传输过程中不被窃取或篡改D. 确保数据在操作过程中不被错误执行36. 在关系数据库中,哪一个操作属于原子操作?A. 选择、投影、连接B. 选择、投影、排序C. 选择、投影、分组D. 选择、投影、笛卡尔积37. 关系数据库中的索引是为了提高数据的什么性能?A. 查询速度B. 插入速度C. 更新速度D. 删除速度38. 在关系数据库中,哪一个概念用来描述实体之间的联系?A. 表B. 关系C. 键D. 域39. 关系数据库中的视图是基于哪一个原始关系建立的?A. 一个表B. 多个表C. 一个表的一部分D. 多个表的一部分40. 在关系数据库中,哪一个操作可以用来合并两个或多个关系?A. 并、交、差B. 并、交、笛卡尔积C. 并、交、选择D. 并、交、投影41. 关系数据库中的数据分割通常是如何进行的?A. 将一个大表分成多个小表B. 将一个大表按关键字分成多个片段C. 将一个大表按属性分成多个子表D. 将一个大表按行分成多个片段42. 在关系数据库中,哪一个概念用来描述数据的一致性?A. 非空约束B. 唯一性约束C. 外键约束D. 主键约束二、问答题1. 关系模型的基本概念是什么?2. 什么是关系代数?请列举几种常见的关系代数运算。

数据库试题及答案

数据库试题及答案

数据库章节试题及答案第二章-关系数据库理论一.名词解释:1.关系的数学定义:笛卡尔积D 1×D 2×…×Dn 的子集叫做在域D 1,D 2,…,Dn 上的关系,用R (D 1,D 2,…,Dn )表示。

2.关系模式:关系模式是对关系结构的描述和定义,表示为:R (U ,D ,DOM ,F )。

其中,R 为关系名,U 为该关系的属性名集合,D 为U 中属性的域,DOM 为属性向域的映像集合,F 为属性间数据的依赖关系集合。

简记为:R(U)=R(A1,A2,…An)3.候选码和主码:关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码,可有多个。

主码属于候选码,1个关系只能有一个。

4、主属性和非主属性:候选码的所有属性;不包含在任何候选码中的属性,因此也理解为非码属性。

6、关系代数:一种抽象的查询语言,采用关系运算来表达查询,是支持关系数据库理论的数学工具。

关系代数的运算对象、运算结果都是关系。

7、元组关系演算:以元组变量作为谓词变元的基本对象的关系演算,典型语言是:ALP HA 语言。

ALPHA 语言语句基本格式如下:操作语句 工作空间名(表达式):操作条件8、域关系演算:以域变量作为谓词变元的基本对象的关系演算方法。

典型:QBE.二、试述关系数据语言的特点和分类。

三.试述等值连接与自然连接的区别和联系。

答:(1)等值连接:比较运算符θ为“=”的连接运算,其结果是从笛卡儿积R ×S 中选取A 、B 属性值相等的那些元组。

(2)自然连接:一种特殊的等值连接,要求将等值连接结果中重复的属性去掉。

四、设教学数据库TeachingData 中有3个基本表。

学生表 S(SNO,SNAME,SEX,CLASS)选课表 SC(SNO,CNO,SCORE)课程表 C(CNO,CNAME,TEACHER)试写出下列查询语句的关系代数表达式。

(1)查询老师"张三"所授课程的课程号和课程名(CNO,CNAME)。

关系数据库理论答案

关系数据库理论答案

例1:设有关系模式R(A,B,C,D,E),其上的函数依赖集:F= {A→BC,CD→E,B→D,E→A}计算B+和CD+解B+ = BDCD+ = ABCDE例2:设有依赖集F={AB→C, C→A, BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG} 计算最小等价依赖集。

解:(1). 右边属性单一化F1= {AB→C BE→CC→A CG→BBC→D CG→DACD→B CE→AD→E CE→GD→G }(2).去掉F1中的左部多余属性F2= {AB→C BE→CC→A CG→BBC→D CG→DCD→B CE→GD→ED→G }(3). 去掉F2中的多余的依赖F3= {AB→C BE→CC→A CG→DBC→D CE→GCD→BD→ED→G }或者F3= {AB→C BE→CC→A CG→BBC→D CE→GD→ED→G }侯选码求解理论和算法(两种情况)(F min)对于给定的关系R和函数依赖集F,可将其属性分为4类:L类:仅出现在F min的函数依赖左部的属性;R类:仅出现在F min的函数依赖右部的属性;N类:在F min中函数依赖的左右两边均未出现的属性;LR类:在F min中函数依赖的左右两边均出现过的属性;定理:对于给定的关系模式R及其函数依赖集F,若X是L和N类属性,则X 必为R的任一候选码的成员。

算法1:单属性依赖集图论求解法。

(1).求F的最小依赖集F min;(2).构造函数依赖图;(3).从图中找出关键属性集X(L、N类属性);(4).查看图中有无独立回路,若无,则输出X即为R的唯一候选码,转6;若有,则转5;(5).从各独立回路中各取一结点对应的属性与X组合成一候选码,并重复这一过程,取尽可能所有的组合,即为R的全部候选码。

(6).结束。

例3:设有R=(O, B, I, S, Q, D), F={S→D, D→S, I→B, B→I, B→O, O→B, I→O }, 求R的所有候选码。

关系数据库设计理论练习题(答案) (1)

第四章关系数据库设计理论练习题一、选择题1、关系规范化中的删除操作异常是指①A,插入操作异常是指②DA、不该删除的数据被删除.B、不该插入的数据被插入;C、应该删除的数据未被删除;D、应该插入的数据未被插入.2、关系数据库规范化是为解决关系数据库中()问题而引入的。

A、插入异常、删除异常和数据冗余;B、提高查询速度;C、减少数据操作的复杂性;D、保证数据的安全性和完整性。

3、假设关系模式R(A,B)属于3NF,下列说法中()是正确的。

A、R一定消除了插入和删除异常;B、R仍可能存在一定的插入和删除异常;C、R一定属于BCNF;D、A和C都是.4、关系模式的分解A、唯一B、不唯一.5、设有关系W(工号,姓名,工种,定额),将其规范化到第三范式正确的答案是()A、W1(工号,姓名),W2(工种,定额);B、W1(工号,工种,定额),W2(工号,姓名);C、W1(工号,姓名,工种),W2(工种,定额);D、以上都不对.6、设学生关系模式为:学生(学号,姓名,年龄,性别,平均成绩,专业),则该关系模式的主键是()A、姓名;B、学号,姓名;C、学号;D、学号,姓名,年龄. 7根据数据库规范化理论,下面命题中正确的是()A、若R∈2NF,则R∈3NFB、若R∈1NF,则R不属于BCNFC、若R∈3NF,则R∈BCNFD、若R∈BCNF,则R∈3NF8、关系数据库设计理论中,起核心作用的是A、范式;B、模式设计;C、函数依赖;D、数据完整性.9、设计性能较优的关系模设称为规范化,规范化的主要理论依据是()A、关系规范化理论;B、关系运算理论;C 、关系代数理论;D 、数理逻辑。

10、规范化理论是关系数据库进行逻辑设计的理论依据。

根据这个理论,关系数据库中的关系必须满足:其每一属性都是( )A 、互不相关的;B 、不可分解的C 、长度可变的;D 、互相关联的。

11、规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常以及( )的缺陷。

《数据库系统概论》复习重点问答题6-关系数据理论

问答题6—关系数据理论一、第6章课后习题P195-2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。

描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区描述班级的属性有:班号、专业名、系名、人数、入校年份描述系的属性有:系号、系名、系办公室地点、人数描述学会的属性有:学会名、成立年份、地点、人数有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。

一个系的学生住在同一个宿舍区。

每个学生可参加若干学会,每个学会有若干学生。

学生参加某学会有一个入会年份。

(1)请写出关系模式答:学生(学号,姓名,出生年月,系名,班号,宿舍区)班级(班号,专业名,系号,班级人数,入校年份)系(系号,系名,系办公室地点,系人数)学会(学会名,成立年份,地点,学会人数)参加(学号,学会名,入会年份)(2)写出每个关系模式的最小函数依赖集,指出是否存在传递函数依赖。

对于函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖,还是部分函数依赖。

答:F(学生) ={学号→姓名,学号→出生日期,学号→班号,班号→系名,系名→宿舍区}F(班级) ={班号→专业名,班号→班级人数,班号→入校年份,专业名→系名,(专业名,入校年份→班号)}F(系) ={系号→系名,系名→系号,系号→系办公室地点,系号→系人数}F(学会) ={学会名→成立年份,学会名→地点,学会名→学会人数,F(参加) ={(学号,学会名)→入会年份}其中:F(学生)中存在传递函数依赖:学号→系名,学号→宿舍区,班号→宿舍区因为:学号→班号,班号→系名,系名→宿舍区C(班级)中存在传递函数依赖:班号→系名因为:班号→专业名,专业名→系名(S#,PN)→DATE2和(CS,CDA TE)→C#均为SP中的函数依赖,是完全函数依赖。

(3)指出各个关系模式的候选码、外码,以及有没有全码存在 答:P196-12.下面的结论哪些是正确的,哪些是错误的,对于错误的结论请给出理由或给出一个反例说明之。

数据库第五章习题及答案

第五章 关系数据理论一、 单项选择题1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是 ( )A 、关系规范化理论B 、关系运算理论C 、关系代数理论D 、数理逻辑2、关系数据库规范化是为解决关系数据库中( )问题而引入的。

A 、插入、删除和数据冗余B 、提高查询速度C 、减少数据操作的复杂性D 、保证数据的安全性和完整性3、当关系模式R (A ,B )已属于3NF ,下列说法中( )是正确的。

A 、它一定消除了插入和删除异常B 、一定属于BCNFC 、仍存在一定的插入和删除异常D 、A 和C 都是4、在关系DB 中,任何二元关系模式的最高范式必定是( )A 、1NFB 、2NFC 、3NFD 、BCNF5、当B 属性函数依赖于A 属性时,属性A 与B 的联系是( )A 、1对多B 、多对1C 、多对多D 、以上都不是6、在关系模式中,如果属性A 和B 存在1对1的联系,则说( )A 、A B B 、B A C 、A B D 、以上都不是7、关系模式中,满足2NF 的模式,( )A 、可能是1NFB 、必定是1NFC 、必定是3NFD 、必定是BCNF8、关系模式R 中的属性全部是主属性,则R 的最高范式必定是( )A 、2NFB 、3NFC 、BCNFD 、4NF9、关系模式的候选关键字可以有( c ),主关键字有( 1个 )A 、0个B 、1个C 、1个或多个D 、多个10、如果关系模式R 是BCNF 范式,那么下列说法不正确的是( )。

A 、R 必是3NFB 、R 必是1NFC 、R 必是2NFD 、R 必是4NF11、图4.5中给定关系R ( )。

A 、不是3NFB 、是3NF 但不是2NFC 、是3NF 但不是BCNFD 、是BCNF12、设有如图4.6所示的关系R ,它是( )A 、1NFB 、2NFC 、3NFD 、4NF二、 填空题1、如果模式是BCNF ,则模式R 必定是(3NF ),反之,则( 不一定 )成立。

第6章 关系数据理论-练习


(1)有3个函数依赖: (商店编号,商品编号)→部门编号 (商店编号,商品编号)→商品库存数量 (商店编号,部门编号) →负责人 (2) R的候选码是(商店编号,商品编号)。 (3)因为R中存在着非主属性“负责人”对候选码(商 店编号,商品编号)的传递函数依赖,所以R属于 2NF,R不属于3NF。 (4)将R分解成:R1(商店编号,商品编号,商品库存 数量,部门编号) R2(商店编号,部门编号,负责人)
• (1)由已知事实可知,R上存在函数依赖:学号→系 名,系名→公寓楼号,公寓楼号→系名,所以R的键是 学号。由于R中不存在非主属性对主属性的部分函数依 赖,所以R属于2NF,又由于R中存在非主属性公寓楼号 对主属性学号的传递函数依赖,所以R不属于3NF,因 此R最高属于2NF; • (2)以题中的表为例,若要将数学系的楼号改为SS04, 则对数学系所有学生的记录都要修改,而若将学号为 2001的学生记录删除,则系名“外语”和楼号 “SS03”也不复存在了,这些问题都是由于R中存在非 主属性公寓楼号对主属性学号的传递函数依赖; • (3)可以将R分解为R1(学号,系名)R2(系名,公寓楼 号),分解后的两个关系模式中均不再有数据冗余和删 除异常现象。
解:R是1NF。 W Y 侯选码为WX,则Y,Z为非主属性, XY 又由于X→Z, 因此F中存在非主属性对 ZY 侯选码的部分函数依赖。 将关系分解为: R1(W,X,Y),F1 = { WX→Y } R2(X,Z),F2 = { X→Z } 消除了非主属性对码的部分函数依赖。 F1和F2中的函数依赖都是非平凡的,并且决定因素是候 选码,所以上述关系模式是BCNF
4、假设某商业集团数据库中有一关系模式R如下 :
R(商店编号,商品编号,商品库存数量,部门 编号,负责人) 如果规定:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章关系数据理论习题解答和解析1. 理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key) 、1NF 2NF 3NF、BCNF多值依赖、4NF。

解析:解答本题不能仅仅把《概论》上的定义写下来。

关键是真正理解和运用这些概念。

答:函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。

对于R(U) 的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称"X函数确定Y"或"Y函数依赖于X",记作心Y。

解析:(1) 函数依赖是最基本的一种数据依赖,也是最重要的一种数据依赖。

(2) 函数依赖是属性之间的一种联系,体现在属性值是否相等。

由上面的定义可以知道,如果X Y,则r中任意两个元组,若它们在X上的属性值相同,那么在Y上的属性值一定也相同。

(3) 要从属性间实际存在的语义来确定他们之间的函数依赖,即函数依赖反映了(描述了)现实世界的一种语义。

(4) 函数依赖不是指关系模式R在某个时刻的关系(值)满足的约束条件,而是指R任何时刻的一切关系均要满足的约束条件。

答:完全函数依赖、部分函数依赖:在R(U)中,如果X T Y,并且对于X的任何一个真子集X',都有X' Y, 则称Y对X完全函数依赖,记作:若X T Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:传递依赖:在R(U)中,如果X T Y,(Y ? X),Y、\,Y T乙则称Z对X传递函数依赖。

候选码、主码:设K为R<U,F>中的属性或属性组合,若K T U(完全依赖)则K为R的候选码(Candidate key)。

若候选码多于一个,则选运其中的一个为主码(Pdmary key)。

解析:1) 这里我们用函数依赖来严格定义码的概念。

在第二章中我们只是描述性地定义码(可以复习若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选码(Can didate key) 。

2) 因为码有了严格定义,在学习了《概论》数据依赖的公理系统后就可以从R<U,F>的函数依赖集F出发,用算法来求候选码。

答:外码:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码(Foreign key), 也称外码。

全码:整个属性组是码,称为全码(All--key)。

答:1NF:如果一个关系模式R的所有属性都是不可分的基本数据项,则R INF。

解析:第一范式是对关系模式的最起码的要求。

不满足第一范式的数据库模式不能称为 关系数据库。

答:2NF:若关系模式R INF ,并且每一个非主属性都完全函数依赖于R 的码,则R 2NF 。

3NF:关系模式R<U,F>中若不存在这样的码 X,属性组Y 及非主属性Z(Z ? Y)使得Y,(Y > X)Y ~乙成立,则称R<U,F> 3NF 。

BCN F 关系模式 R<U,F> 1NF 。

若X ^Y 且Y ? X 时X 必含 有码,则 R<U,F> BCNF解析:读者要真正理解这些范式的内涵。

各种范式之间的联系: 5NF 4NF BCNF 3NF 2NF 1NF(《概论》上图 。

能够理解为什么有这种包含关系。

答多值依赖:设R(U)是属性集U 上的一个关系模式。

X,Y,Z 是U 的子集,并且Z =U -X-Y 。

关系模式R(U)中多值依赖Xu 丫成立,当且仅当对R (U)的任一关系r, 给定的一对(元,z) 值,有一组Y 的值,这组值仅仅决定于 z 值而与z 值无关。

4NF:关系模式 R 〈 U,F >£ 1NF,如果对于 R 的每个非平凡多值依赖X a Y(Y CEX),X 都含有码,则称R<U,F> 4NFo解析对于多值依赖的定义有多种。

《概论》上定义 后面又给出了一种等价的定义。

习题中 的第4题是另一种等价的定义。

可以对比不同的定义来理解多值依赖 的一种定义来掌握多值依赖概念。

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

号、姓名、出生年月、系名、班号、宿舍区。

描述班级的属性有:班号、专业名、系名、人数、入校年份。

描述系的属性有:系名、系号、系办公室地点、人数。

描述学会的属性有:学会名、成立年份、地点、人数。

有关语义如下:一个系有若干专业,每个专业每年只招一个班某学会有一个人会年份。

请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖 还是部分函数依赖•指出各关系的候选码、外部码,有没有全码存在 答:关系模式:学生S(S#,SN,钮,DN,C#,SA)班级 C(C#,CS,DN,CNUM,CDATE) 系 D(D#,DN,DA,DNUM) 学会 P(PN,DA 四 1,PA,PNUM) 学生-学会 SP(S#,PN,DATE2)其中,S# 一学号,SN 一姓名,SB 一出生年月,SA —宿舍区,C # 一班号,CS 一专业 名 ,CNUM 一班级人数 ,CDATE- 入校年份 ,D # 一系号 ,DN 一系名 ,DA 一系办公室地 点 ,DNUM 一系人数 ,PN 一学会选择自己容易理解 描述学生的属性有:学每个班有若干学生。

个系的学生住在同一宿舍区。

每个学生可参加若干学会 每个学会有若干学生。

学生参加名,DAIE1 一成立年月,PA 一地点,PNUM 一学会人数,DATE2 一人会年份每个关系模式的极小函数依赖集:S :S# T SN,S # T钮,S # T C#,C # T DN,DN SAC :C # T CS,C # T CNIJM,C # T CDATE,CS T DN,(C S ,CDATE) T C#/ 铃因为每个专业每年只招一个班於/D:D # T DN,DN T D#,D # T DA,D # T DNIJM/ 铃按照实际情况, 系名和系号是一一对应的铃/P:PN T DATE1,PN T PA,PN T NUMSP:(S#,PN) T DATE2S 中存在传递函数依赖:S # T DN,S # T SA,C # T SA/ 铃因为S # T C#,C # T DN,DN T SA 祷/C 中存在传递函数依赖:C# T DN/ 铃因为C # T CS,CS T DN 铃/(S#,PN) T DA'IE2 和(CS,CDATE) T C# 均为SP 中的函数依赖, 是完全函数依赖。

关系SC候选码S #C #,(CS,CDA'IE)外部码 C #,DN DNS #,PND # 和DN PN (S#,PN)D P SP解析读者应该根据题目中给出的有关语义写出关系模式中的数据依赖, 有些依赖可以按照实际情况写出, 也许题目中并没有明显指出。

例如, 按照实际情况, 系名和系号是一一对应的, 因此有 D # T DN,DN T D# 。

3. 试由Amostrong 公理系统推导出下面三条推理规则:(1) 合并规则: 若X T Z,X T Y, 则有X T YZ(2) 伪传递规则: 由X T Y,W T Z 有XW T Z⑶分解规则:X T Y,ZC Y,有X T Z证明(1) 已知X T乙由增广律知XY T YZ,又因为X T Y,可得XX T XY T YZ,最后根据传递律得X T YZ o(2) 已知X T Y,据增广律得XW T WY,因为WY T乙所以XW T WY T乙通过传递律可知XW T Z o(3) 已知ZC Y,根据自反律知Y T乙又因为X T Y,所以由传递律可得X T Z o4. 关于多值依赖的另一种定义是:给定一个关系模式R(X,Y,Z), 其中X,Y,Z可以是属性或属性组合。

设z e x,y e Y,z e乙m 在R中的像集为:ELz=i = =zAr e R i定义R(X,Y,Z) 当且仅当bz=丸,对于每一组(元,h z') 都成立,则丫对X 多值依赖,记作X TT Y o这里,允许Z为空集,在Z为空集时,称为平凡的多值依赖。

请证明这里的定义和《概论》节中定义是等价的。

证明:设ELz=凡,对于每一组(元,z,z') 都成立,现证其能推出定义的条件:设sJ是关系r中的两个元组,s[X]=t[X], 由新定义的条件可知对于每一个z值,都对应相同的一组y值。

这样一来,对相同的Z值,交换y值后所得的元组仍然属于关系r,即定义的条件成立;如果定义的条件成立,则对相同的Z值,交换y值后所得的元组仍然属于关系r,由于任意性及其对称性,可知每个z值对应相同的一组y值,所以YZZ =YM,对于每一组(元,z,z') 都成立。

综上可知,新定义和定义的条件是等价的,所以新定义和定义是等价的。

5•试举出3个多值依赖的实例。

答(1) 关系模式MSC(M,S,C)中,M表示专业,S 表示学生,C 表示该专业的必修课。

假设每个专业有多个学生,有一组必修课。

设同专业内所有学生选修的必修课相同,实例关系如下。

按照语义对于M的每一个值矶,S有一个完整的集合与之对应而不问C 取何值,所以M TT S。

由于C与S的完全对称性,必然有M TT C成立。

(2) 关系模式ISA(I,S,A) 中,1表示学生兴趣小组,S 表示学生,A 表示某兴趣小组的活动项目 0假设每个兴趣小组有多个学生 ,有若干活动项目 0每个学 生必须参加所在兴趣小组的所有活动项目 ,每个活动项目要求该兴趣小组的所有学生参加。

按照语义有I n S,I a A 成立。

(3)关系模式RDP 俑,D,P)中,R 表示医院的病房,D 表示责任医务人员,P 表示病 人。

假设每个病房住有多个病人,有多个责任医务人员负责医治和护理 该病房的所有病人。

按照语义有 R 一 D,R n P 成立。

12.下面的结论哪些是正确的 ,哪些是错误的对于错误的结论请给出理由或给出一个反例说明之。

答(1) 任何一个二目关系都是属于 3NF 的。

J (2) 任何一个二吕关系都是属于 BCNF 的O J (3) 任何一个二目关系都是属于 4NF 的。

J R(X,Y }如果Xu 丫即X 、Y 之间存在平凡的多值依赖 ,R 属于4NFo (4)当且仅当函数依赖A--B 在R 上成立,关系R(A,B ,C) 等于其投影RI (A,B)和 R2(A,C)的连接。

X当A T B 在R 上成立,关系R(A,B ,C) 等于其投影 R1(A,B)和R2(A,C) 的连接。

反之则不然。

正确的应该是:当且仅当多值依赖 A B 在R 上成立,关系R(A,B ,C)等于其投影R1(A,B) 和 R2(A,C) 的连接。

相关文档
最新文档