1、第四章 习 题,一.单项选择,1.在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的_阶段。 A需求分析 B概念设计 C逻辑设计 D物理设计 2.在关系数据库设计中,设计关系模式是_的任务。 A需求分析阶段 B概念设计 C逻辑设计阶段 D物理设计阶段,3.在数据库的概念设计中,最常用的数据模型是_。 A形象模型 B物理模型 C逻辑模型 D实体联系模型 4.从E-R模型关系向关系模型转换时,一个MN联系转换为关系模型时,该关系模式的关键字是_。 AM端实体的关键字 BN端实体的关键字 CM端实体关键字与N端实体关键字组合 D. 重新选取其他属性,5.下图所示的
2、E-R图转换成关系模型,可以转换为_个关系模式。 A1个 B2个 C3个 D4个,6.在数据库设计中,将E-R图转换成关系数据模型的过程属于_ 。 A. 需求分析阶段 B. 概念设计阶段 C. 逻辑设计阶段 D. 物理设计阶段7.关系模型中实现实体间 N:M 联系是通过增加一个_ 。 A. 关系实现 B. 属性实现 C. 关系或一个属性实现 D. 关系和一个属性实现,8.数据库设计可划分为六个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上、建什么样的索引”这一设计内容应该属于_设计阶段。 A. 概念设计 B. 逻辑设计 C. 物理设计 D. 全局设计 9.公司中有多个部门和多名职
3、员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是_。 A. 多对多 B. 一对一 C. 多对一 D. 一对多,二.填空,1.数据库设计的几个步骤是_,_,_,_,_,_。 答:需求分析,概念设计,逻辑设计,模式求精,物理设计,应用与安全设计。2.在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程等的描述,通常称为_。 答:数据字典,3.ER图的主要元素是_,_,_。 答:实体集、属性、联系。4.在E-R图中,实体集用_、属性用_、联系(集)用_、属性与实体之间用_表示。 答:矩形、椭圆、菱形、连线。,5
4、.二元联系集的主码选择,依赖于联系集的映射基数: 一对一:主码可以使用_; 一对多(多对一):主码由_; 多对多:主码由_组成。答:参与联系集中的任何一方实体集的主码、 “多”的一方实体集的主码组成、 参与联系集中所有实体集的主码。,6.联系集的属性安置 一对一联系集的属性:可安置于_上; 一对多联系集的属性:可安置于_上,也可安置在_实体集上; 多对多联系集的属性:联系属性只能安置于_放到相关联的实体集上去。 答:任一边的实体集、联系集、多的那一边的、联系集。,三、应用题 1、设有如下实体: 学生:学号、单位、姓名、性别、年龄、选修课程名。 课程:编号、课程名、开课单位、任课教师号。 教师:
5、教师号、姓名、性别、职称、讲授课程编号。 单位:单位名称、电话。 上述实体中存在如下联系: (1)一个学生可选修多门课程,一门课程可为多个学生选修;(2)一个教师可讲授多门课程,一门课程可为多个教师讲授;(3)一个单位可有多个教师,一个教师只能属于一个单位。,试完成如下工作:(1)分别设计学生选课和教师任课两个局部信息的结构E-R图。,(2)将上述设计完成的E-R图合并成一个全局E-R图。,(3)该全局E-R图转换为等价的关系模型表示的数据库逻辑结构如下: 单位(单位名,电话) 教师(教师号,姓名,性别,职称,单位名) 课程(课程编号,课程名,单位名) 学生(学号,姓名,性别,年龄,单位名)
6、讲授(教师号,课程编号) 选修(学号,课程编号),2. 设计学生管理系统。包括学生的学籍管理子系统和课程管理子系统两个系统。(1)学籍管理子系统包括学生、宿舍、班级、教室、辅导员。这些实体之间的联系有:一个宿舍可以住多个学生,一个学生只能住在一个宿舍中。 一个班级有若干学生,一个学生只能属于一个班。 一个辅导员带若干个学生,一个学生只属于一个辅导员。一个辅导员带多个班级。 一个班级在多个教室上课,一个教室有多个班级来上课。,(2)课程管理子系统包括学生、课程、教师、教室、教科书。这些实体之间的联系有: 一个学生选修多门课程,一门课程有若干学生选修。 一个学生有多个教师授课,一个教师教授若干学生
7、。 一门课程由若干个教师讲授,一个教室只讲一门课程。 一个教室开设多门课,一门课只能在一个教室上。针对两个子系统分别设计出它们的E-R图。在E-R图中省去属性。,学籍管理子系统的各个实体的属性分别为: 学生(学号,姓名,性别,出生日期,系别,何时入校,平均成绩) 班级(班级号,学生人数) 辅导员(职工号,姓名,性别,工作时间) 宿舍(宿舍编号,地址,人数) 教室(教室编号,地址,容量),课程管理子系统各个实体的属性分别为: 学生(学号,姓名,性别,年龄,入学时间) 课程(课程号,课程名,学分) 教科书(书号,书名,作者,出版日期,关键字) 教室(教室编号,地址,容量) 教师(职工号,姓名,性别
8、,职称),下面将学籍管理子系统E-R图和课程管理子系统E-R图集成学生管理系统E-R图。集成过程如下:(1)消除冲突。这两个子E-R图存在着多方面的冲突:辅导员属于教师,学籍管理中的辅导员与课程管理中的教师可以统一为教师。将辅导员改为教师后,教师与学生之间有两种不同的联系:指导联系和教学联系,将两种联系综合为教学联系。调整学生属性组成,调解结果为:学生(学号,姓名,出生日期,年龄,系别,平均成绩),(2)消除冗余。1) 学生实体的属性中的年龄可由出生日期计算出来,属于数据冗余。调整为:学生(学号,姓名,出生日期,系别,平均成绩)2)教室实体与班级实体之间的上课联系可以由教室与课程之间的开设联系
9、、课程与学生之间的选修联系、学生与班级之间的组成联系三者推导出来,因此属于数据冗余,可以消去。3)学生的平均成绩可以从选修联系中的成绩属性推算出来。但如果学生的平均成绩经常查询,可以保留该数据冗余来提高效率。,这样,集成后的学生管理系统的E-R图,四. 简答题,1. 简述将E-R图转换为关系模式的一般规则。 将E-R图转换为关系模式一般遵循如下原则: 一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。 一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合,一个1:n联系可以转换为一个独立的关系模式
10、,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。,一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 如果转换为一个独立的关系模式,则与该关系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。 如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。,三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各
11、实体码的组合。 同一个实体集的实体间的联系,即自联系也可按上述1:1、1:n和m:n三种情况分别处理。 具有相同码的关系模式可以合并。,2. 简述数据库概念结构设计的步骤。 自底向上的设计方法是目前采用较多的概念结构设计方法。基本步骤如下: (1)概念结构的抽象 概念结构的抽象是指根据系统的用户需求以及所设计的应用对象,对需求分析的数据流图和数据字典进行抽象,抽取应用对象与系统相关的本质特征信息,而忽略应用对象与系统无关的非本质数据,并最终把应用对象的特征信息精确描述为概念模型的实体、属性和联系的抽象处理过程。,(2)局部E-R图设计 局部E-R图设计是指根据系统的整体需求,把系统分解成若干个局部应用,利用概念结构抽象的结果,设计各局部应用所对应的E-R图的过程。 (3)全局E-R图设计 全局E-R图设计是指根据系统的整体需求,选择合理的集成方法,把各局部E-R图进行集成,同时消除属性冲突、实体冲突和联系冲突,并最终形成系统的整体概念结构的过程。,(4)概念结构的优化 概念结构的优化是指根据数据库应用系统的需求,在系统全局E-R图的基础上,利用需求分析的数据流图和数据字典,通过检测消除系统中全局E-R图的属性冗余、实体冗余和联系冗余等冗余数据,并最终形成独立于具体DBMS的整体概念结构的过程。,