第7章 数据库设计
1.试述数据库设计过程。
答:数据库设计过程的六个阶段:需求分析;概念结构设计;逻辑结构设计;数据库物理设计;数据库实施;数据库运行和维护。
(1)需求分析阶段:进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。
(2)概念结构设计阶段:概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
(3)逻辑结构设计阶段:逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
(4)物理设计阶段:物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
(5)数据库实施阶段:在数据库实施阶段,设计人员运用DBMS提供的数据库语言(如SQL)及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
(6)数据库运行和维护阶段:数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。
2试述数据库设计过程中形成的数据库模式。
答:数据库结构设计的不同阶段形成数据库的各级模式,即:
(1)在概念设计阶段形成独立于机器特点,独立于各个DBMS产品的概念模式,在本篇中就是E-R图;
(2)在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图,形成数据的外模式;
(3)在物理设计阶段,根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。
3需求分析阶段的设计目标是什么?调查的内容是什么?
答:需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求:
(1)信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;
(2)处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理;
(3)安全性与完整性要求。
4数据字典的内容和作用是什么?
答:(1)数据字典是系统中各类数据描述的集合。数据字典的内容通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。数据项是组成数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。
(2)数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。
5什么是数据库的概念结构?试述其特点和设计策略。
答:(1)在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。所以概念结构是信息世界的结构,即概念模型。
(2)其主要特点是:
①能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;
②易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功与否的关键;
③易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;
④易于向关系、网状、层次等各种数据模型转换。
(3)概念结构的设计策略通常有四种:
①自顶向下,即首先定义全局概念结构的框架,然后逐步细化;
②自底向上,即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构;
③逐步扩张,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;
④混合策略,即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。
6定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图(E-R图)
答:(1)实体:客观存在并可以相互区分的事物。
(2)实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体。
(3)实体集:同型实体的集合。
(4)属性:表中的一列即为一个属性。
(5)码:码就是能唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质。
(6)实体联系图:提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
7学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干硪究生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用E-R图画出此学校的概念模型。
答:
8某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画出此工厂产品、零件、材料、仓库的概念模型。
答:
9什么是数据库的逻辑结构设计?试述其设计步骤。
答:(1)数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
(2)数据库的逻辑结构设计步骤为:
①将概念结构转换为一般的关系、网状、层次模型;
②将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
③对数据模型进行优化。
10试把习题7和习题8中的E-R图转换为关系模型。
答:(1)习题7中的E-R图为:
各实体的属性为:
系:系号,系名,学校名;
班级:班级号,班级名,系编号;
教研室:教研室编号,教研室名,系编号;
学生:学号,姓名,学历,班级号,导师职工号;
课程:课程号,课程名;
教员:职工号,姓名,职称,科研室编号;
各联系的属性为:
选修课:成绩。
其关系模型为:
系(系编号,系名,学校名);
班级(班级号,班级名,系编号);
教研室(教研室编号,教研室名,系编号);
学生(学号,姓名,学历,班级号,导师职工号);
课程(课程号,课程名);
教员(职工号,姓名,职称,教研室编号);
选课(学号,课程号,成绩)。
(2)习题8中的E-R图为:
对应的关系模型为:
产品(产品号,产品名,仓库号);
零件(零件号,零件名);
材料(材料号,材料名,类别,仓库号,存放量);
仓库(仓库号,仓库名);
产品组成(产品名,零件号,使用零件量);
零件储存(零件号,仓库号,存储量);
零件制造(零件号,材料号,使用材料量)。
11试用规范化理论中有关范式的概念分析习题7设计的关系模型中各个关系模式的候选码,它们属于第几范式?会产生什么更新异常?
答:习题7中设计的两个关系数据库的各个关系模式的候选码都用下划线注明,这些关系模式都只有一个码,且都是惟一决定的因素,所以都属于BCNF,不会产生更新异常现象。
12规范化理论对数据库设计有什么指导意义?
答:规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础。
13试述数据库物理设计的内容和步骤。
答:数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。数据库物理设计的主要内容是为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构。
数据库的物理设计步骤通常分为两步:
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间效率和空间效率。
14数据输入在实施阶段的重要性是什么?如何保证输入数据的正确性?
答:(1)数据库是用来对数据进行存储、管理与应用的,因此在实施阶段必须将原有系统中的历史数据输入到数据库。数据量一般都很大,而且数据来源于部门中的各个不同的单位。数据的组织方式、结构和格式都与新设计的数据库系统有相当的差距,组织数据录入就要将各类源数据从各个局部应用中抽取出来,分类转换,最后综合成符合新设计的数据库结构的形式,输入数据库。因此这样的数据转换、组织入库的工作是相当费力费时的工作。特别是原系统是手工数据处理系统时,各类数据分散在各种不同的原始表格、凭证、单据之中,数据输入工作量更大。
(2)保证输入数据正确性的方法:为提高数据输入工作的效率和质量,应该针对具体的应用环境设计一个数据录入子系统,由计算机来完成数据入库的任务。在源数据入库之前要采用多种方法对其进行检验,以防止不正确的数据入库。
15什么是数据库的再组织和重构造?为什么要进行数据库的再组织和重构造?
答:(1)数据库的再组织是指按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能。数据库的重构造则是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据库的模式和内模式的。
(2)进行数据库的再组织和重构造的原因:数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织。DBMS一般都提供用于数据重组织的实用程序。数据库应用环境常常发生变化,如增加新的应用或新的实体,取消了某些应用,有的实体与实体间的联系也发生了变化等,使原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式,这就要进行数据库重构造。