第3章数据库设计 3.1数据库设计概述
3.1.1数据库设计的基本任务和目标 3.1.2数据库设计的特点与方法 3.1.3数据库设计步骤 3.2需求分析 3.2.1需求分析的任务 3.2.2用例建模 3.2.3对象模型 3.2.4需求分析案例 3.3数据库概念结构设计 3.3.1概念结构设计概述 3.3.2概念结构设计的任务 3.3.3概念结构设计案例 3.3.4概念结构设计的其他问题 3.4数据库逻辑结构设计 3.4.1逻辑结构设计的任务
3.4.2概念模型转换为关系模型的方法 3.4.3关系模型优化 3.4.4逻辑结构设计案例 3.5数据库的物理结构设计 3.5.1影响物理结构的主要因素 3.5.2物理结构设计的任务 3.5.3物理结构设计案例 3.6数据库的实施 3.7数据库的运行和维护
本章小结 习题3
第 3 章 数据库设计课后习题参考答案
1、选择题
(1)~(5): D、A、B、D、B (6)~(10): C、A、B、C、D (11)~(15):D、C、D、D、C (16)~(20):B、C、D、C、C
(21) ~(25):A、B、D、B、D
2、简答题
(1) 简述数据库设计的主要步骤和每一个阶段的具体任务?
数据库设计划分的 6 个阶段。
①需求分析。此阶段的任务准确了解与分析用户的需求,弄清系统要达到的目标和实现的功能。面向对象方法是通过用例模型描述系统功能需求的。为了满足用户功能需求,还需要获取关于问题域本质内容的对象、对象的特征以及对象之间存在哪些关系和操作,从而确定系统的对象模型。
②概念结构设计阶段。概念结构设计的主要任务是根据系统分析建立的业务对象模型形成信息世界的实体、属性和实体标识符,确定实体之间的联系类型,即设计E-R 模型。
③数据库逻辑结构设计。逻辑结构设计阶段的主要任务是将概念结构转换为某个 DBMS 所支持的数据模型,对关系数据库来说,就是将 E-R 模型转化为关系模型,最终生成表, 并确定表中的列,并根据数据存取的性能要求优化关系模型。
④数据库物理结构设计。数据库物理结构设计的主要任务是为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据存储结构和存取方法。
⑤数据库实施。在数据库实施阶段中,系统设计人员要运用 DBMS 提供的数据操作语, 如 SQL 语言,以及宿主语言,根据数据库的逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库井进行系统试运行。
⑥数据库运行和维护。在数据库系统运行过程中,必须不断地对其结构性能进行评价、调整和修改。
(2) 简述面向对象方法需求分析阶段的主要工作?
面向对象分析的主要工作是把问题域中的事物抽象为系统中的对象,并建立一个用面向对象概念表达的系统模型。面向对象的系统开发过程中,作为客户方和开发方契约的用例建模是面向对象方法分析用户需求的常用方法。
①获取需求。系统开发的关键问题之一是获取用户的需求。分析用户需求,建立对需求的准确认识,形成对需求的规范化描述,是采用面向对象系统分析的基础。首先进行需求调研,确定系统边界,识别系统的参与者和用例,并确定系统中用例之间的关系,以及各参与者和用例之间的联系,从用户的角度通过用例模型来理解用户需求。
②确定对象及对象间的关系。以用户的观点对系统进行了用例分析后,还需对用户需求进行深入研究。为了满足用户需求,应该从所研究问题领域中抽象出哪些对象来构成系统, 获取关于问题域本质内容的对象、对象的特征以及对象之间存在哪些关系和操作,确定系统的逻
辑结构,针对不同的问题选择不同的抽象层次,构造问题的对象模型,展示对象和类如何组成系统(静态模型),使该模型能够精确反映所要解决的“实质”问题。
(3) 试述数据库概念结构设计的重要性和设计步骤。
概念结构设计的作用:
①能真实地描述现实世界。概念结构能真实地反映现实世界事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型。
②易于理解。用E-R 图来描述概念模型非常接近人的思维,是对现实世界的真实反映, 容易被人们所理解。用户不需要掌握计算机等专业知识,也能够理解概念结构,利用概念结构,用户可以与设计者交换意见,参与到数据库的设计过程中。因此概念结构是数据库设计人员与用户交互的最有效的工具。
③是各种数据模型的共同基础。概念模型最终要转化成不同 DBMS 所支持的数据模型, 并且很容易就能向普遍使用关系模型转化,所以是各种数据模型的基础。
④有利于修改和扩充。由于现实世界的应用环境和应用要求会发生变化,发生变化时只需要改变概念模型,易于更改的概念模型更有利于扩充。
概念结构设计的设计步骤:
①首先站在全局的角度,设计面向全局应用的整个系统的总体初步框架; ②根据需求分析划分的局部应用,设计局部E-R 图;
③将局部 E-R 图合并,消除冗余和可能的矛盾,得到系统的全局 E-R 图,完成概念模型的设计;
④审核和验证全局E-R 图。
(4) 什么是 E-R 图,构成 E-R 图的基本要素是什么?
E-R 图是数据库概念结构设计阶段采用实体联系方法的刻画信息世界一种工具。基本要素包括实体集、属性和联系。
①实体集用长方形表示实体集,长方形内标明实体集名。
②属性用椭圆形表示实体集的属性,并用线段将其与相应的实体集连接起来。属性下的下划线表示此属性为该实体的主标示符。
③联系用菱形表示实体集之间的联系,菱形内写明联系名,并用线段分别与有关实体集连接起来,同时在线段旁标出联系的类型。 联系的类型有三种:1:1、1:n 和 m:n。
(5) 局部E-R 图合并为全局 E-R 图时主要存在哪些冲突?如何解决?
冲突主要有 3 类:属性冲突、命名冲突和结构冲突。
①属性冲突。属性冲突包括域冲突和属性取值单位冲突两种情况。对属性值的类型、取值范围或取值集合的不同的属性域冲突,需要各个应用或部门之间协商解决。对属性取值单位冲突,需要统一单位。
②命名冲突。命名冲突主要有同名异义冲突和异名同义冲突两种。命名冲突主要通过协商和调整解决。
③结构冲突。结构冲突有 3 种情况:同一对象在不同的应用中具有不同的抽象的冲突, 把握数据抽象的元则。同一实体在不同局部 E-R 图中的属性组成不一致,即所包含的属性个数和属性排列次序不完全相同,解决这类冲突的方法是使该实体的属性取各局部 E-R 图中属性的并集,再适当调整属性的次序,兼顾到各种应用。实体之间的联系在不同的局部E-R 图中呈现不同的类型,此类冲突解决方法是根据应用的语义对实体联系的类型进行综合或调整。
(6) 什么是数据库的逻辑结构设计?试述其设计步骤?
将 E-R 模型转换为关系数据库所支持的逻辑模式 --- 关系模式的过程,就是数据库的逻 辑结构设计。针对关系数据库的逻辑结构设计,其主要步骤如下:
①将实体集和联系集转换为关系模式。 ②确定关系模式的属性和关键字。 ③关系模式的优化。 ④用户子模式的设计。
(7) 影响数据库物理结构设计的主要因素有哪些?
影响数据库物理结构设计的主要因素如下:
①应用处理需求。在进行数据库物理设计前,应先弄清楚应用的处理需求,如吞吐量、平均响应时间、系统负荷等,这些需求直接影响着物理设计方案的选择,而且会随着应用环境的变化而变化。
②数据的特性数据的特性主要指数据的结构,关系之间的联系,数据的检索频度等。数据本身的特性对数据库物理设计也会有较大影响,例如,关系中每个属性值的分布和记录的长度与个数也会影响到数据库的物理存储结构和存取方法的选择。在数据库设计阶段,数据特性很难准确估计,会随着数据库状态的改变而变化。
③数据的使用特性数据的使用特性包括各个用户的应用所对应的数据视图,各种应用的处理频度、使用数据的方法、对系统的重要程度。这些是对时空效率进行平衡和优化的主要依据。一般来说,物理设计不能均等地考虑每一个用户,必须将用户分类,以便保证重点用户的重点应用。
④可用性要求数据库的可用性要求是指适应用户的要求,维护数据库逻辑上、物理上的完整性的能力。人们都希望数据库有较高的可用性,但为此必须付出较大的代价,所以必须权衡得失。
⑤应用环境 从整个计算机系统来说,数据库应用仅是其负荷的一部分,数据库的性能不但决定于数据库的设计,而且与 OS、DBMS、网络的运行环境有关,受到计算机硬件资源的制约;DBMS 的特性主要指 DBMS 的功能、提供的物理环境和工具、特别是存储结构和存取方法。由于每一种DBMS 都有自己的特点和不足,只有真正了解DBMS 的特许,才能设计出一个充分发挥DBMS 特色的物理结构。
3、设计题
(1) 一个企业的职工信息管理数据库要求提供下述服务:
①可随时查询各个部门的部门编号、部门名称、部门负责人等信息,以及现有职工的工号、姓名、性别、出生日期、所在部门等信息。并约定一个部门有多名职工,一名职工来自于一个部门,一个部门只有一个负责人;
②可随时查询企业的岗位设置情况,包括岗位编号、岗位名称、基本工资等,并约定一个岗位有多名职工,一名职工只能属于一个岗位;
③该数据库还可描述职工参加培训课程的情况,包括培训课程的课程号、课程名、学时, 以及培训成绩。并约定,在不冲突的情况下,一名职工可培训多门课程,同一门课程可同时安排多名教师进行培训。
根据以上情况,完成如下工作:
①试为该学企业的职工信息管理系统设计一个 E-R 模型;并在图上注明属性、实体主标示符、联系类型; 各实体属性图: