本文汇总了《数据库系统概论》(第6版,王珊、杜小勇、陈红编著)第七章“数据库设计”的课后习题及补充题目解答,旨在为学习者提供清晰、系统的参考内容,便于对照复习与理解。
习题解析与答案整理
1. 简述数据库设计的基本流程。
数据库的设计通常分为六个主要阶段:
- 需求分析;
- 概念结构设计;
- 逻辑结构设计;
- 物理结构设计;
- 数据库实施;
- 数据库运行和维护。
一个完整的数据库应用系统往往需要在这六个阶段之间反复迭代、不断优化,才能达到理想的设计效果。
2. 数据库设计各阶段所形成的模式有哪些?分别说明其特点。
- 概念结构设计阶段:产生独立于具体计算机硬件和各类DBMS的抽象概念模型,常用E-R图表示;
- 逻辑结构设计阶段:将E-R图转化为特定DBMS支持的数据模型(如关系模型),形成以基本表为核心的逻辑模式,并根据用户视图需求建立外模式;
- 物理结构设计阶段:结合目标DBMS的特性以及实际处理要求,规划数据的存储方式、访问路径等,构建内模式,例如设置索引、选择存储结构。
3. 需求分析阶段的主要目标是什么?调查应涵盖哪些方面?
设计目标:通过深入调研,全面掌握现有信息系统的运行状况,明确用户的各项功能与非功能需求,从而确定新系统应具备的能力。
调查内容包括:
- 信息要求:用户希望从数据库中获取的信息类型及其性质,由此推导出数据存储结构的设计依据;
- 处理要求:包括系统需实现的功能、响应时间限制、操作方式(如批处理或联机处理)、并发访问量预估等;
- 安全性与完整性约束:确保数据在使用过程中的安全性和一致性。
4. 需求分析中数据字典包含哪些内容?它的作用是什么?
内容组成:数据字典由五部分构成——数据项、数据结构、数据流、数据存储和处理过程。其中,数据项是最小的数据单位,多个数据项组合成数据结构,进而用于描述数据流和数据存储的逻辑构成。
主要作用:作为元数据的集合,数据字典记录了数据库中所有数据的定义和说明,在需求分析阶段建立,是后续进行概念结构设计的重要基础,并在整个数据库设计过程中持续完善和调整。
5. 什么是数据库的概念结构?它具有哪些特征?
概念结构是对现实世界信息的高度抽象,属于信息层面的模型,也称为概念模型。其核心特点如下:
- 能够真实、完整地反映现实世界的实体及其联系;
- 表达直观,易于被非技术背景的用户理解和确认;
- 具备良好的可修改性,能灵活适应应用环境的变化;
- 便于向关系型、层次型或网状型等具体数据模型转换。
6. 解释下列概念模型中的术语:实体、实体型、实体集、属性、码、E-R图。
- 实体:指客观存在且可以相互区分的具体或抽象事物;
- 实体型:用实体名称及其属性集合来刻画一类具有相同特征的实体;
- 实体集:同一类型的多个实体组成的集合;
- 属性:实体所具有的某种特性,一个实体可通过多个属性加以描述;
- 码:能够唯一标识某个实体的属性或属性组;
- E-R图(实体-联系图):用于可视化表示实体型、属性及它们之间联系的图形工具:
- 实体型用矩形框表示,内部标注实体名;
- 属性用椭圆表示,通过无向边连接到对应实体;
- 联系用菱形框表示,注明联系名称,并通过连线关联相关实体,在边上标明联系的种类(1:1、1:n 或 m:n)。
7. 某学院设有多个系,每个系下设若干教研室和班级。每个教研室有若干教师,其中教授和副教授可指导多名研究生。每个班级有若干学生,每位学生可选修多门课程,每门课程也可被多名学生选修,且每次选课对应一个成绩。请绘制该场景的E-R图。
8. 某工厂生产多种产品,每种产品由不同零件构成,某些零件可用于多种产品。零件由不同材料制成,而不同零件可能使用相同材料。零件按所属产品分类存放于仓库,材料则按类别存放在不同仓库中。请画出产品、零件、材料、仓库之间的E-R模型。
9. 医院住院管理系统涉及以下信息:
- 科室:科室名、科室主任、地址、联系电话;
- 病房:编号、床位数、所属科室;
- 医生:工号、姓名、职称、所在科室、性别、年龄;
- 住院病人:姓名、性别、身份证号。
约束条件如下:
- 一个科室有多名医生,仅有一位主任负责管理其他医生;
- 一名医生只能隶属于一个科室;
- 一个科室管理多个病房,一个病房只归属一个科室;
- 一名医生可诊治多位病人,一位病人可由多名医生共同治疗,但必须指定一名为主治医生。
请据此绘制该系统的E-R图。
10. 什么是数据库的逻辑结构设计?简述其主要步骤。
定义:将概念结构设计阶段完成的E-R模型,转换为与所选用DBMS相兼容的数据模型(如关系模型)的过程。
主要步骤:
- 将E-R图转换为相应的关系模式(即二维表结构);
- 对生成的关系模式进行规范化优化,减少冗余,提升查询效率。
11. 将第7题和第8题的E-R图转换为关系模型。
第7题转换结果(主码以下划线标出):
- 系(系编号,系名,学校名)
- 教研室(教研室编号,教研室名,系编号)
- 班级(班级编号,班级名,系编号)
- 教员(职工号,姓名,职称,教研室编号)
- 学生(学号,姓名,学历,班级编号,导师职工号)
- 课程(课程编号,课程名)
- 选课(学号,课程编号,成绩)
第8题转换结果(主码以下划线标出):
- 产品(产品号,产品名,仓库号)
- 零件(零件号,零件名)
12. 试用规范化理论中有关范式的概念,分析第7题设计的关系模型中各个关系模式的候选码。它们属于第几范式?会产生什么更新异常?
在第7题所设计的关系模型中,各关系模式均仅存在一个候选码,且该候选码是唯一的决定因素。这意味着每一个非主属性都完全函数依赖于候选码,且不存在传递依赖或部分依赖的情况。
由于所有关系模式均满足每个决定因素都是候选码这一条件,因此这些模式均已达到BCNF(Boyce-Codd范式)的要求。处于BCNF范式下的关系模式不会出现插入、删除或修改操作带来的更新异常现象。
13. 规范化理论对数据库设计有什么指导意义?
规范化理论为数据库的设计提供了科学的评判依据,能够帮助设计者识别关系模式的质量高低。它不仅可用于优化现有的关系数据结构,还能预测潜在的数据冗余与操作异常问题。
此外,该理论支持开发自动化工具来生成符合特定范式要求的数据库模式,使整个设计过程建立在严谨的数学基础之上,提升数据库系统的稳定性与可维护性。
14. 试述数据库物理结构设计的内容和步骤。
定义: 数据库在实际存储设备上的组织方式及其访问机制被称为数据库的物理结构。物理结构设计的目标是从给定的逻辑数据模型出发,选择最适合具体应用环境的物理实施方案。
主要内容与实施步骤如下:
- 确定数据库的物理结构,重点包括存取方法(如索引、聚簇等)和存储结构(如文件组织形式、记录排列方式等);
- 对所选物理方案进行评估,主要考察其在时间效率(查询速度)和空间效率(存储开销)方面的表现。
15. 数据输入在实施阶段的重要性是什么?如何保证输入数据的正确性?
重要性: 在数据库实施阶段,必须将原有系统中的历史数据导入新数据库。这类数据通常体量庞大、来源多样,并且格式各异,与新系统的结构差异较大,导致数据抽取、清洗、转换及加载过程复杂耗时。尤其在传统手工系统中,数据分散于各类单据和凭证之中,进一步加大了录入工作量。
确保数据准确性的措施:
- 构建专门的数据录入子系统,辅助完成数据导入任务;
- 在源数据正式入库前,采用多种校验手段进行审核,防止错误或不一致的数据进入数据库。
16. 什么是数据库的重组和重构?为什么要进行数据库的重组和重构?
数据库重组: 指在不改变数据库逻辑结构(模式)和内部结构(内模式)的前提下,重新组织数据的物理存放位置,回收无效空间,简化指针链路,从而改善系统运行性能。
数据库重构: 是对数据库的部分逻辑结构或物理结构进行调整,即修改模式或内模式,以适应新的业务需求或技术环境。
原因分析:
- 随着数据库长期运行,频繁的增删改操作会导致物理存储碎片化,降低访问效率,因此需要通过重组恢复性能;
- 当应用环境发生变化(例如新增功能、实体间联系变更、旧应用停用等),原有数据库设计可能无法满足新需求,此时需进行重构以实现结构上的适配。
补充习题
1. 选择题
- 数据库外模式是在下列哪个阶段设计的?()
答案:B. 数据库逻辑结构设计 - 生成DBMS系统支持的数据模型是在下列哪个阶段完成的?()
答案:B. 数据库逻辑结构设计 - 根据应用需求确定建立索引是在下列哪个阶段完成的?()
答案:C. 数据库物理结构设计 - 员工性别的取值,有的为"男/女",有的为"1/0",这种情况属于()。
答案:A. 属性冲突
2. 填空题
- 数据库设计方法包括新奥尔良方法、基于E-R模型的方法、面向对象的建模方法、计算机辅助设计方法、统一建模语言(UML)方法等。
- 数据库设计的基本步骤包括需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护等。
- 集成局部E-R图(也称为分E-R图)要分两个步骤,分别是合并和优化。
- 数据库常见的存取方法主要有索引方法、聚簇方法和哈希方法。
3. 问答题
在进行概念结构设计时,将事物作为属性的基本准则是什么?
当某一事物不具备独立含义,或其本身不参与除所属实体之外的其他联系时,可将其作为属性处理。同时,若该事物的所有特性均可由单一简单属性表示,且不涉及多值或复合结构,则适合归为属性而非实体。
将E-R图转换为关系模式时,可以如何处理实体型间的联系?
对于实体之间的联系,可根据联系类型进行如下转换:
- 一对一(1:1)联系:可在任一实体对应的关系中加入另一方的主键作为外键;
- 一对多(1:N)联系:在“多”端实体对应的关系中添加“一”端实体的主键作为外键;
- 多对多(M:N)联系:需单独建立一个关系模式,包含两个实体的主键作为联合主键,并将联系本身的属性也纳入该关系中。
4. 综合题
某商场可以为顾客办理会员卡,每个顾客只能办理一张会员卡。顾客信息包括顾客姓名、地址、电话、身份证号,会员卡信息包括号码、等级、积分,请给出该系统的E-R图。
请按照下列说明修改题1中的要求,分别给出相应的E-R图:
a. 顾客有多个地址和多个电话号码。地址包括省、市、区、街道,电话号码包括区号、号码。
b. 顾客有多个地址,每个地址有多个电话号码。地址包括省、市、区、街道,电话号码包括区号、号码。
某数据库记录乐队、成员和歌迷的信息。乐队包括名称、多个成员、一个队长,队长也是乐队的成员。成员包括姓名、性别。歌迷包括姓名、性别、喜欢的乐队、喜欢的成员。
a. 请画出基本的E-R图。
b. 请修改E-R图,使之能够表示成员在乐队的工作记录,包括进入乐队时间以及离开乐队时间。
考虑某个IT公司的数据库信息:
- 部门有部门编号、部门名称、办公地点等属性。
- 部门员工有员工编号、姓名、级别等属性,员工只在一个部门工作。
- 每个部门有唯一一个部门员工作为部门经理。
- 实习生有实习编号、姓名、年龄等属性,只在一个部门实习。
- 项目有项目编号、项目名称、开始日期、结束日期等属性。
- 每个项目由一名员工负责,由多名员工、实习生参与。
- 一名员工只负责一个项目,可以参与多个项目,在每个项目具有工作时间比。
- 每个实习生只参与一个项目。
请画出E-R图,并将E-R图转换为关系模型(包括关系名、属性名、码和完整性约束条件)。
E-R图转换后的关系模型如下:
- 部门(部门编号, 部门名称, 办公地点, 经理员工编号)
主码:部门编号
外码:经理员工编号 → 员工(员工编号) - 员工(员工编号, 姓名, 级别, 所属部门编号, 负责项目编号)
主码:员工编号
外码:所属部门编号 → 部门(部门编号),负责项目编号 → 项目(项目编号) - 实习生(实习编号, 姓名, 年龄, 所属部门编号, 参与项目编号)
主码:实习编号
外码:所属部门编号 → 部门(部门编号),参与项目编号 → 项目(项目编号) - 项目(项目编号, 项目名称, 开始日期, 结束日期, 负责员工编号)
主码:项目编号
外码:负责员工编号 → 员工(员工编号) - 员工参与项目(员工编号, 项目编号, 工作时间比)
主码:(员工编号, 项目编号)
外码:员工编号 → 员工(员工编号),项目编号 → 项目(项目编号)
注:因一名员工可参与多个项目,故需建立“员工参与项目”联系关系;实习生仅参与一个项目,已在“实习生”关系中直接体现。
补充习题答案
1. 选择题答案
- B
- B
- C
- A
2. 填空题答案
- 新奥尔良方法、基于E-R模型的方法、面向对象的建模方法、计算机辅助设计方法
- 概念结构设计、逻辑结构设计、物理结构设计
- 合并、优化
- 索引方法、聚簇方法
数据库设计中常用的方法包括:面向对象的设计方法、新奥尔良设计方法、基于E-R模型的设计方法,以及3NF(第三范式)的设计方法。这些方法在不同阶段和场景下被广泛应用,以确保数据库结构的合理性与高效性。
数据库设计通常分为三个主要阶段:概念结构设计、逻辑结构设计和物理结构设计。其中,概念结构设计关注数据的抽象表达;逻辑结构设计则将抽象模型转化为特定数据模型(如关系模型);物理结构设计涉及存储结构与存取方式的实现细节,例如索引和聚簇的设置。
在设计过程中,常需要对多个局部视图进行合并,并对初步形成的结构进行修改与重构,以消除冗余、冲突或不一致的问题。同时,在优化物理结构时,合理使用索引可以提升查询效率,而聚簇技术则有助于提高某些类型访问的性能。
3. 问答题参考答案
属性划分的基本准则:
- 属性必须是不可再分的数据项,不能包含其他属性或具有可进一步描述的性质;
- 属性不能与其他实体之间存在联系,因为E-R图中的联系仅定义于实体之间。
若某事物满足以上两条规则,则可将其作为属性处理。
联系向关系模式转换的处理方式:
- 对于1:1联系,既可以单独转换为一个独立的关系模式,也可以选择与任一端对应的关系模式合并;
- 对于1:n联系,同样可以选择转换为独立关系模式,或与n端对应的关系模式进行合并;
- m:n联系必须转换为一个独立的关系模式;
- 当涉及三个或更多实体之间的多元联系时,应将其转换为一个独立的关系模式;
- 若多个关系模式具有相同的码,可根据实际情况考虑合并,以简化结构。
4. 综合题参考答案
E-R图展示如下:
a. 对应的E-R图如下所示:
b. 另一种情况下的E-R图如下:
a. 基本E-R图结构如下:
b. 经过调整与优化后的E-R图如下:
完整的E-R图表示如下:
对应的关系模型结构如下:



雷达卡


京公网安备 11010802022788号







