本文整理了《数据库系统概论》(第6版 王珊 杜小勇 陈红)第七章“数据库设计”的课后习题及补充习题答案,旨在为学习者提供清晰的参考,方便大家对照学习。

习题解答和解析

1. 试述数据库设计过程。

答案:

数据库设计过程包含6个阶段,分别是:

  1. 需求分析;
  2. 概念结构设计;
  3. 逻辑结构设计;
  4. 物理结构设计;
  5. 数据库实施;
  6. 数据库运行和维护。
    设计完善的数据库应用系统往往是上述6个阶段的不断反复。
2. 试述数据库设计过程中形成的数据库模式。

答案:

  1. 概念结构设计阶段:形成独立于机器特点、独立于各个DBMS产品的概念模式(E-R图);
  2. 逻辑结构设计阶段:将E-R图转换成具体DBMS支持的数据模型(如关系模型),形成数据库逻辑模式,基于基本表建立视图,形成外模式;
  3. 物理结构设计阶段:根据DBMS产品特点和处理需要安排物理存储、建立索引,形成内模式。
3. 需求分析阶段的设计目标是什么?调查的内容是什么?

答案:

设计目标:通过详细调查,充分了解实际部门原有信息系统的情况,明确用户的各种需求,确定新系统的功能。
调查内容:重点是“数据”和“处理”,具体包括:

  1. 信息要求:用户需要从数据库中获得的信息内容与性质,由此导出数据存储相关要求;
  2. 处理要求:用户需完成的处理功能、处理响应时间要求、处理方式(批处理/联机处理)、并发用户数估计等;
  3. 安全性与完整性要求。
4. 需求分析阶段得到的数据字典的内容和作用是什么?

答案:

内容:包含5部分,分别是数据项、数据结构、数据流、数据存储和处理过程(数据项是数据最小组成单位,若干数据项组成数据结构,数据字典通过定义数据项和数据结构描述数据流、数据存储的逻辑内容)。
作用:数据字典是关于数据库中数据的描述(元数据),在需求分析阶段建立,是概念设计的基础,并在数据库设计过程中不断修改、充实和完善。

5. 什么是数据库的概念结构?

答案:

概念结构是信息世界的结构(概念模型),主要特点:

  1. 能真实、充分反映现实世界,满足用户数据处理要求;
  2. 易于理解,可与非计算机专业用户交换意见;
  3. 易于更改,适配应用环境和要求的变化;
  4. 易于向关系、网状、层次等数据模型转换。
6. 定义并解释概念模型中的以下术语:实体,实体型,实体集,属性,码,实体-联系图(E-R图)。

答案:

  • 实体:客观存在并可以相互区分的事物;
  • 实体型:用实体名及其属性名集合抽象和刻画同类实体(含有相同属性的实体具有相同特征和性质);
  • 实体集:同型实体的集合;
  • 属性:实体所具有的某一特性,一个实体可由若干属性刻画;
  • 码:唯一标识实体的属性集;
  • 实体-联系图(E-R图):描述实体型、属性和联系的方法,其中:
    • 实体型用矩形表示,矩形框内写明实体名;
    • 属性用椭圆形表示,无向边连接至对应实体型;
    • 联系用菱形表示,菱形框内写明联系名,无向边连接相关实体,边旁标注联系类型(1:1、1:n或m:n)。
7. 某学院有若干个系,每个系有若干教研室和班级。每个教研室有若干教师,其中有的教授和副教授每人各带若干研究生。每个班有若干学生,每个学生选修若干课程。每门课可由若干学生选修,某学生选修某一门课程有一个成绩。请用E-R图画出此应用场景的概念模型。

答案:

8. 某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。零件由不同的材料制成,不同零件所用的材料可以相同。零件按所属的不同产品分别放在仓库中,材料按照类别放在若干仓库中。请用E-R图画出此工厂的产品、零件、材料、仓库的概念模型。

答案:

9. 某医院的住院管理信息系统中需要下述信息:

科室:科室名,科室主任,科室地址,科室电话
病房:病房号,床位号,科室名
医生:工作证号,姓名,职称,科室名,性别,年龄
住院病人:姓名,性别,身份证号
其中,一个科室可以有多位医生,有且仅有一个科室主任领导其他医生,一个医生只属于一个科室。一个科室负责多个病房,一个病房只属于一个科室。一个医生可以负责治疗多位住院病人,一位住院病人可以同由多名医生诊治,其中有一位为主治医生。
请用E-R图描述该住院管理信息系统的概念模型。

答案:

10. 什么是数据库的逻辑结构设计?试述其设计步骤。

答案:

定义:把概念结构设计阶段设计好的基本E-R图,转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
步骤

  1. 将概念结构转换为关系模型的关系模式;
  2. 对转换的关系模式进行优化。
11. 试把第7题和第8题中的E-R图转换为关系模型。

答案:

第7题转换结果

第7题转换结果(下画线为主码属性):

  • 系(系编号,系名,学校名)
  • 教研室(教研室编号,教研室名,系编号)
  • 班级(班级编号,班级名,系编号)
  • 教员(职工号,姓名,职称,教研室编号)
  • 学生(学号,姓名,学历,班级编号,导师职工号)
  • 课程(课程编号,课程名)
  • 选课(学号,课程编号,成绩)

第8题转换结果(下画线为主码属性):

  • 产品(产品号,产品名,仓库号)
  • 零件(零件号,零件名)
  • 原材料(原材料号,原材料名,类别,仓库号,存放量)
  • 仓库(仓库号,仓库名)
  • 产品组成(产品号,零件号,使用零件量)
  • 零件组成(零件号,原材料号,使用原材料量)
  • 零件储存(零件号,仓库号,存储量)

12. 试用规范化理论中有关范式的概念,分析第7题设计的关系模型中各个关系模式的候选码。它们属于第几范式?会产生什么更新异常?

答案:

第7题的各关系模式均只有一个候选码,且均为唯一决定因素,属于BCNF,不会产生更新异常现象。

13. 规范化理论对数据库设计有什么指导意义?

答案:

规范化理论为数据库设计人员判断关系模式优劣提供理论标准,可指导关系数据模型的优化、预测模式可能出现的问题;为设计人员提供自动产生各种模式的算法工具,使数据库设计有严格的理论基础。

14. 试述数据库物理结构设计的内容和步骤。

答案:

定义:数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,物理结构设计是为给定逻辑数据模型选取适合应用要求的物理结构的过程。
内容与步骤

  1. 确定数据库的物理结构(关系数据库中主要指存取方法和存储结构);
  2. 对物理结构进行评价(重点是时间和空间效率)。
15. 数据输入在实施阶段的重要性是什么?如何保证输入数据的正确性?

答案:

重要性:实施阶段需将原系统历史数据输入数据库,数据量通常大、来源分散,格式与新系统差距大,数据抽取、转换、入库工作费力费时;手工系统下数据分散在各类凭证/单据中,输入工作量更大。
保证正确性的方法:设计数据录入子系统辅助数据入库;源数据入库前采用多种方法检验,防止错误数据入库。

16. 什么是数据库的重组和重构?为什么要进行数据库的重组和重构?

答案:

数据库重组:按原设计要求重新安排数据存储位置、回收垃圾、减少指针链,以提高系统性能(不修改数据库的模式和内模式)。
数据库重构:部分修改数据库的模式和内模式(逻辑结构和物理结构)。
原因

  • 重组:数据库运行后,记录更新会导致物理存储情况变坏,降低存取效率和系统性能,需通过重组优化;
  • 重构:数据库应用环境变化(新增/取消应用、实体联系变化等),原有设计无法满足新需求,需调整模式和内模式。

 补充习题

1. 选择题
  1. 数据库外模式是在下列哪个阶段设计的?()
    A.数据库概念结构设计
    B.数据库逻辑结构设计
    C.数据库物理结构设计
    D.数据库实施和维护
  2. 生成DBMS系统支持的数据模型是在下列哪个阶段完成的?()
    A.数据库概念结构设计
    B.数据库逻辑结构设计
    C.数据库物理结构设计
    D.数据库实施和维护
  3. 根据应用需求确定建立索引是在下列哪个阶段完成的?()
    A.数据库概念结构设计
    B.数据库逻辑结构设计
    C.数据库物理结构设计
    D.数据库实施和维护
  4. 员工性别的取值,有的为"男/女",有的为"1/0",这种情况属于()。
    A.属性冲突
    B.命名冲突
    C.结构冲突
    D.数据冗余
2. 填空题
  1. 数据库设计方法包括______、、______、统一建模语言(UML)方法等。
  2. 数据库设计的基本步骤包括需求分析、、______、数据库实施、数据库运行和维护等。
  3. 集成局部E-R图(也称为分E-R图)要分两个步骤,分别是______和______。
  4. 数据库常见的存取方法主要有______、______和哈希方法。
3. 问答题
  1. 在进行概念结构设计时,将事物作为属性的基本准则是什么?
  2. 将E-R图转换为关系模式时,可以如何处理实体型间的联系?
4. 综合题
  1. 某商场可以为顾客办理会员卡,每个顾客只能办理一张会员卡。顾客信息包括顾客姓名、地址、电话、身份证号,会员卡信息包括号码、等级、积分,请给出该系统的E-R图。
  2. 请按照下列说明修改题1中的要求,分别给出相应的E-R图:
    a.顾客有多个地址和多个电话号码。地址包括省、市、区、街道,电话号码包括区号、号码。
    b.顾客有多个地址,每个地址有多个电话号码。地址包括省、市、区、街道,电话号码包括区号、号码。
  3. 某数据库记录乐队、成员和歌迷的信息。乐队包括名称、多个成员、一个队长,队长也是乐队的成员。成员包括姓名、性别。歌迷包括姓名、性别、喜欢的乐队、喜欢的成员。
    a.请画出基本的E-R图。
    b.请修改E-R图,使之能够表示成员在乐队的工作记录,包括进入乐队时间以及离开乐队时间。
  4. 考虑某个IT公司的数据库信息:
    a.部门有部门编号、部门名称、办公地点等属性。
    b.部门员工有员工编号、姓名、级别等属性,员工只在一个部门工作。
    c.每个部门有唯一一个部门员工作为部门经理。
    d.实习生有实习编号、姓名、年龄等属性,只在一个部门实习。
    e.项目有项目编号、项目名称、开始日期、结束日期等属性。
    f.每个项目由一名员工负责,由多名员工、实习生参与。
    g.一名员工只负责一个项目,可以参与多个项目,在每个项目具有工作时间比。
    h.每个实习生只参与一个项目。
    请画出E-R图,并将E-R图转换为关系模型(包括关系名、属性名、码和完整性约束条件)。
补充习题答案

1. 选择题答案

  1. B
  2. B
  3. C
  4. A

2. 填空题答案

  1. 新奥尔良设计方法、基于E-R模型的设计方法、3NF的设计方法、面向对象的设计方法
  2. 概念结构设计、逻辑结构设计、物理结构设计
  3. 合并、修改与重构
  4. 索引、聚簇

3. 问答题答案

  1. 基本准则:
    a.属性不能再有需要描述的性质,必须是不可分的数据项,不能包含其他属性;
    b.属性不能与其他实体有联系(E-R图中联系仅存在于实体之间)。
    满足上述两条的事物可作为属性。
  2. 处理方式:
    a.1:1联系:可转换为独立关系模式,或与任意一端对应关系模式合并;
    b.1:n联系:可转换为独立关系模式,或与n端对应关系模式合并;
    c.m:n联系:转换为一个关系模式;
    d.3个及以上实体间的多元联系:转换为一个关系模式;
    e.具有相同码的关系模式:可合并。

4. 综合题答案

  1. E-R图:

  1. a. E-R图:

b. E-R图:

  1. a. 基本E-R图:

b. 修改后E-R图:

  1. E-R图:

关系模型:

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐