考试(学号,课程号,成绩),学号为引用学生的外码,课程号为引用课程的外码。
·25· 2. 设有关系模式:学生(学号,姓名,所在系,班号,班主任,系主任),其语义为:一个学生只在一个系的一个
班学习,一个系只有一个系主任,一个班只有一名班主任,一个系可以有多个班。 (1) 请指出此关系模式的候选码。 (2) 写出该关系模式的极小函数依赖集。 (3) 该关系模式属于第几范式?并简单说明理由。
(4) 若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码。 解:(1)候选码:学号
(2)学号→姓名,学号→所在系,学号→班号,班号→班主任,所在系→系主任 (3)第二范式,因为有:学号→班号,班号→班主任,因此存在传递函数依赖:
学号
传递班主任
(4)第三范式关系模式:
学生(学号,姓名,所在系,班号),班号为引用班的外码,所在系为引用系的外码。 班(班号,班主任) 系(系名,系主任)
3. 设有关系模式:教师授课(课程号,课程名,学分,授课教师号,教师名,授课时数),其语义为:一门课程(由
课程号决定)有确定的课程名和学分,每名教师(由教师号决定)有确定的教师名,每门课程可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程有确定的授课时数。 (1) 指出此关系模式的候选码。 (2) 写出该关系模式的极小函数依赖集。 (3) 该关系模式属于第几范式?并简单说明理由
(4) 若不属于第三范式,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码。 答:(1)候选码:(课程号,授课教师号)
(2)课程号→课程名,课程号→学分,授课教师号→教师名,(课程号,授课教师号)→授课时数 (3)属于第一范式。因为有:课程号→课程名,因此存在部分函数依赖关系:
(课程号,授课教师号)(4)第三范式关系模式:
课程(课程号,课程名,学分) 教师(教师号,教师名)
授课(课程号,教师号,授课时数),课程号为引用课程的外码,教师号为引用教师的外码。
P课程名
25
·26· 第7章 数据库设计 一. 选择题
1. 在数据库设计中,将E-R图转换为关系数据模型是下述哪个阶段完成的工作 A.需求分析阶段 C.逻辑设计阶段
B.概念设计阶段 D.物理设计阶段
D
C
2.在进行数据库逻辑结构设计时,不属于逻辑设计应遵守的原则的是 A.尽可能避免插入异常 C.尽可能避免数据冗余
B.尽可能避免删除异常 D.尽可能避免多表连接操作
A
3. 在进行数据库逻辑结构设计时,判断设计是否合理的常用依据是 A.规范化理论 C.数据字典
B.概念数据模型 D.数据流图
4.在将E-R图转换为关系模型时,一般都将m:n联系转换成一个独立的关系模式。下列关于这种联系产生的关系模式的主码的说法,正确的是
C
A.只需包含m端关系模式的主码即可 B.只需包含n端关系模式的主码即可 C.至少包含m端和n端关系模式的主码 D.必须添加新的属性作为主码
5. 数据流图是从“数据”和“处理”两方面表达数据处理的一种图形化表示方法,该方法主要用在数据库设计的
A
A.需求分析阶段 C.逻辑结构设计阶段
B.概念结构设计阶段 D.物理结构设计阶段
B
6. 在将局部E-R图合并为全局E-R图时,可能会产生一些冲突。下列冲突中不属于合并E-R图冲突的是 A.结构冲突 C.属性冲突
B.语法冲突 D.命名冲突
7. 一个银行营业所可以有多个客户,一个客户也可以在多个营业所进行存取款业务,则客户和银行营业所之间的联系是
D
B.一对多 D.多对多
B
A.一对一 C.多对一
8.在关系数据库中,二维表结构是 A.关系数据库采用的概念层数据模型 B. 关系数据库采用的组织层数据模型 C.数据库文件的组织方式 D.内模式采用的数据组织方式
9.设实体A与实体B之间是一对多联系。下列进行的逻辑结构设计方法中,最合理的是 A.实体A和实体B分别对应一个关系模式,且外码放在实体B的关系模式中 B. 实体A和实体B分别对应一个关系模式,且外码放在实体A的关系模式中 C.为实体A和实体B设计一个关系模式,该关系模式包含两个实体的全部属性
D.分别为实体A、实体B和它们之间的联系设计一个关系模式,外码在联系对应的关系模式中
A
26
·27· 10. 设有描述图书出版情况的关系模式:出版(书号,出版日期,印刷数量),设一本书可以被出版多次,每次出版都有一个出版数量。该关系模式的主码是 A.书号
C.(书号,印刷数量)
B
B.(书号,出版日期)
D.(书号,出版日期,印刷数量)
11. 设有描述学生借书情况的关系模式:借书(书号,读者号,借书日期,还书日期),设一个读者可在不同日期多次借阅同一本书,但不能在同一天对同一本书借阅多次。该关系模式的主码是 C A.书号
C.(书号,读者号,借书日期) 12. 设有如下两个关系模式
职工(职工号,姓名,所在部门编号)
部门(部门编号,部门名称,联系电话,办公地点)
为表达职工与部门之间的关联关系,需定义外码。下列关于这两个关系模式中外码的说法,正确的是 A.“职工”关系模式中的“所在部门编号”是引用“部门”的外码 B.部门关系模式中的“部门编号”是引用“职工”的外码 C.不能定义外码,因为两个关系模式中没有同名属性
D.将“职工”关系模式中的“所在部门编号”定义为外码,或者将“部门”关系模式中的“部门编号”定义为
外码均可
13. 在数据库设计中,进行用户子模式设计是下述哪个阶段要完成的工作 B A.需求分析阶段 C.逻辑结构设计阶段
14.下述不属于数据库物理结构设计内容的是 A.确定数据的存储结构 C.确定数据的存储分配
B.概念结构设计阶段 D.物理结构设计阶段 C
B.确定数据存储位置 D.确定数据库表结构
A
B.(书号,读者号)
D.(书号,读者号,借书日期,还书日期)
15.数据库物理结构设计完成后就进入到数据库实施阶段。下列不属于数据库实施阶段工作的 D A.调试应用程序 C.加载数据 二. 填空题
1. 一般将数据库设计分为______、______、______、______、______几个阶段。
需求分析 结构设计 行为设计 数据库实施 数据库运行和维护 2. 数据库结构设计包括______、______和______三个过程。
概念结构设计 逻辑结构设计 物理结构设计
3. 将局部E-R图合并为全局E-R图时,可能遇到的冲突有______、______和______。
属性冲突 命名冲突 结构冲突
4. 在数据库实施阶段除了创建数据库、关系表等之外,还包括两项重要的工作,一项是______,另一项是______。
加载数据 调试和运行应用程序
5. ______设计是将需求分析得到的用户需求进行概括和抽象,得到概念层数据模型。
概念(结构)
6. 将E-R图转换为某个数据库管理系统支持的组织层数据模型是______设计阶段完成的工作。
逻辑(结构)
7. 数据流图表达了数据库应用系统中______和______的关系。 数据 处理
8. 在数据库设计中,在需求分析阶段用文档来描述数据需求,包括对数据项、数据结构、数据流、数据存储和数
27
B.试运行应用程序 D.扩充系统功能
·28· 据处理过程的描述,通常将这个文档称为______。 数据字典
9. 采用E-R方法的概念结构设计通常包括______、______和______三个步骤。
设计局部E-R图,设计全局E-R图 优化全局E-R图
10. 根据应用要求确定在哪些表的哪个或哪些属性上建立索引的工作是在数据库设计的______阶段完成的。 物
理设计
三. 简答题
1.数据库设计分为哪几个阶段?每个阶段的主要工作是什么。 2.需求分析阶段的任务是什么?其中发现事实的方法有哪些? 3.概念结构应该具有哪些特点? 4.概念结构设计的策略有哪些?
5.什么是数据库的逻辑结构设计?简述其设计步骤。 6.把E-R模型转换为关系模式的转换规则有哪些? 7.数据模型的优化包含哪些方法?
8.简述数据库物理结构设计阶段的主要工作。 9. 简述数据库实施阶段的主要工作。 10.简述数据库行为设计包含的内容。 四. 设计题
1. 将给定的E-R图转换为符合3NF的关系模式,并指出每个关系模式的主码和外码。 (1)图7-25所示为描述图书、读者以及读者借阅图书的E-R图。
出版日期图书作者名借书日期联系电话所在单位图7-25 图书借阅E-R图
答:下列各关系模式中用下划线标识主码。
图书(书号,书名,出版日期,作者名) 读者(读者号,读者名,联系电话,所在单位)
书号m借阅n读者读者名 书名还书日期读者号借阅(书号,读者号,借书日期,还书日期),书号为引用图书关系模式的外码,读者号为引用读者关系模式的外码。
(2)图7-26所示为描述商店从生产厂家订购商品的E-R图。 答:下列各关系模式中用下划线标识主码。
商店(商店编号,商店名,联系电话)∈3NF
商品(商品编号,商品名称,库存量,商品分类)∈3NF 厂家(厂家编号,联系地址,联系电话)∈3NF
订购(商店编号,厂家编号,商品编号,订购日期,订购数量),商店编号为引用商店关系模式的外码,厂家编号为引用厂家关系模式的外码,商品编号为引用商品关系模式的外码。∈3NF
28