1、平凡的函数依赖
在关系模式R(U)中,对于U的子集X和Y,
如果X→Y,但Y ? X,则称X→Y是非平凡的函数依赖 2、非平凡的函数依赖
在关系模式R(U)中,对于U的子集X和Y, 若X→Y,但Y ? X, 则称X→Y是平凡的函数依赖 四、综合练习 1、已知学生关系模式
S(Sno,Sname,SD,Sdname,Course,Grade)
其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。
(1)写出关系模式S的基本函数依赖和主码。
(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么? (3)将关系模式分解成3NF,并说明为什么? (1)写出关系模式S的基本函数依赖和主码。 答: 关系模式S的基本函数依赖如下:
Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course) →Grade 关系模式S的码为:(Sno,Course)。
(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么? 答: 原关系模式S是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。
消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下: S1(Sno,Sname,SD,Sdname) S2(Sno,Course,Grade)
(3)将关系模式分解成3NF,并说明为什么? 答: 将上述关系模式分解成3NF如下:
关系模式S1中存在Sno→SD,SD→Sdname,即非主属性Sdname传递依赖
于Sno,所以S1不是3NF。进一步分解如下: S11(Sno,Sname,SD) S12(SD,Sdname)
分解后的关系模式S11、S12满足3NF。
对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。所以,原
模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。 S11(Sno,Sname,SD) S12(SD,Sdname)
S2(Sno,Course,Grade) 2、设有如下关系R
(1)它为第几范式? 为什么?
(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的? (3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题? (1)它为第几范式? 为什么?
解:它是2NF。 因为R的候选关键字为“课程名”。 依赖关系: 课程名→教师名,教师名 → 课程名,教师名→教师地址,所以 课程名→教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。
(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的? 解: 存在。当删除某门课程时会删除不该删除的教师的有关信息。 (3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?
解: 分解为高一级范式如图所示。
R1如下: R2如下:
分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。
3、设某商业集团数据库中有一关系模式R如下: R (商店编号,商品编号,数量,部门编号,负责人)
如果规定:(1) 每个商店的每种商品只在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存数量。 试回答下列问题:(1) 根据上述规定,写出关系模式R的基本函数依赖; 答: 关系模式S的基本函数依赖如下: (商店编号,商品编号) →部门编号,(商店编号,部门编号)→负责人,(商店编号,商品编号) →数量
(2) 找出关系模式R的候选码;答:关系模式R的码为:(商店编号,商品编号, 部门编号)。
(3) 试问关系模式R最高已经达到第几范式?为什么?答: 原关系模式R是属于1NF的,码为(商店编号,商品编号, 部门编号),非主属性对码的函数依赖全为部分函数依赖,所以不属于2NF。
消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下:
R1(商店编号,商品编号, 部门编号, 数量) R2(商店编号,部门编号, 负责人)
(4) 如果R不属于3NF,请将R分解成3NF模式集。 答:将R分解为
R1(商店编号,商品编号, 部门编号, 数量) R2(商店编号,部门编号, 负责人)
分解后的R不存在传递的函数依赖,所以分解后的R已经是第3NF
第7章数据库设计
一、选择题
1、在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的 阶段。
A.需求分析 答案:B
2、在关系数据库设计中,设计关系模式是 的任务。
A.需求分析阶段
B.概念设计阶段
C.逻辑设计阶段
B.概念设计
C.逻辑设计
D.物理设计
D.物理设计阶段 答案:C
3、数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是 。
A.建立库结构 答案:B
4、在数据库的概念设计中,最常用的数据模型是 。
A.形象模型
B.物理模型
C.逻辑模型
D.实体联系模
B.扩充功能
C.加载数据
D.系统调试
型 答案:D
5、从E-R模型关系向关系模型转换时,一个M∶N联系转换为关系模型时,该关系模式的关键字是 。
A.M端实体的关键字 B.N端实体的关键字 C.M端实体关键字与N端实体关键字组合
D.重新选取其他属性 答案:C
6、当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是 。
A.属性冲突 答案:B
7、概念模型独立于 。
A.E-R模型
B.硬件设备和DBMS
C.操作系统和DBMS
B.语法冲突
C.结构冲突
D.命名冲突
D.DBMS 答案:B
8、数据流程图(DFD)是用于描述结构化方法中 阶段的工具。
A.可行性分析 答案:C
9、下图所示的E-R图转换成关系模型,可以转换为 关系模式。
B.详细设计
C.需求分析
D.程序编码
A.1个 答案:C 借书证号 B.2个 C.3个 D.4个
借阅日期 位置 价格 图书 作者 分类号 书名 借书人 m 单位 借阅 n 总编号 姓名 二、填空题 1
、
数
据
库
设
计
的
几
个
步
骤
是 。
答案:需求分析,概念设计,逻辑设计,物理设计,系统实施,系统运行和维护
2、“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库 设计阶段。
答案:物理
3、在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程等的描述,通常称为 。
答案:数据字典
4、在设计分E-R图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计的,所以各个分E-R图之间难免有不一致的地方,这些冲突主要有 ① 、 ② 和 ③ 三类。
答案:①属性冲突 三、应用题
设有如下实体:学生:学号、单位、姓名、性别、年龄、选修课程名 课程:编号、课程名、开课单位、任课教师号 教师:教师号、姓名、性别、职称、讲授课程编号 单位:单位名称、电话、教师号、教师名
上述实体中存在如下联系:
(1).一个学生可选修多门课程,一门课程可为多个学生选修;(2).一个教师可讲授多门课程,一门课程可为多个教师讲授;(3).一个单位可有多个教
②命名冲突
③结构冲突