当前位置:文档之家› 第七章 数据库设计

第七章 数据库设计

第七章 数据库设计
第七章 数据库设计

第7章数据库设计

数据库设计(Database Design,简记为DBD)是指对于给定的软、硬件环境,针对现实问题,设计一个较优的数据模型,建立DB结构和DB应用系统。

本章主要讨论DBD的方法和步骤,详细介绍DBD的全过程。本章的重点有两个:

1.概念设计中的ER模型设计方法。设计ER模型是一件实用性很强的工作,ER模型应该充分反映用户的需求。

2.逻辑设计中ER模型向关系模型转换的规则。

(1)DBS生存期及其7个阶段的任务和工作,DBD过程的输入和输出。

(2)概念设计的重要性、主要步骤。逻辑设计阶段的主要步骤。

(3)ER模型的基本元素,属性的分类,联系的元数、连通词、基数。采用ER方法的概念设计步骤。

(4)ER模型到关系模型的转换规则。采用ER方法的逻辑设计步骤。

一、数据库设计概述

1. 数据库系统生存期

软件工程(Software Engineering)

用科学知识、工程方面的规范指导软件开发的过程,以提高软件质量和开发效率,降低开发成本。

软件生存期(Software Life Cycle)

从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间。

数据库系统生存期

数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间。大致分为七个阶段。

试述数据库设计的基本步骤。

(1)需求分析阶段:需求收集和分析,得到数据字典和数据流图。

(2)概念结构设计阶段:对用户需求综合、归纳与抽象,形成概念模型,用E-R图表示。

(3)逻辑结构设计阶段:将概念结构转换为某个DBMS 所支持的数据模型。 (4)数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构。 (5)数据库实施阶段:建立数据库,编制与调试应用程序,组织数据入库,程序试运行。 (6)数据库运行和维护阶段:对数据库系统进行评价、调整与修改。

和数据库工程有关的: 数据库工程设计方法 数据库设计的输入输出

2. 数据库设计方法 1)直观设计法

直观设计法主要凭借设计者对整个系统的了解和认识,以及平时所积累的

经验和设计技巧,完成对某一数据库系统的设计任务。

这样的方法具有周期短、效率高、操作简便、易于实现等优点。 这种方法主要是用于简单的小型系统。

软件生存期

数据库生存期

2)规范化设计法

规范化设计法将数据库设计分为若干阶段(需要求分析阶段,概念设计,逻辑设计,物理设计,数据库设计),明确规定各阶段的任务,采用“自顶向下、分层实现、逐步求精”的设计原则,结合数据库理论和软件工程设计方法,实现设计过程的每一细节,最终完成整个设计任务。

常用的规范化设计方法主要有:

基于实体联系的设计方法(常用方法)

基于视图概念的数据库设计方法

基于3NF的数据库设计方法等。

3)计算机辅助设计法

计算机辅助设计法是指在数据库设计的某些过程中,利用计算机和一些辅助设计工具,模拟某一规范设计方法,并以人的知识或经验为主导,通过人机交互方式实现设计中的某些部分。

例如在需求分析完成后,可以使用POWER DESIGNER、E-Rwin等辅助工具产生E-R图,并将E-R图转换为关系数据模型,生成数据库结构,再编制相应的应用程序,从而缩短数据库设计周期。

4)自动化设计法

设计人员只要熟悉某种MIS辅助设计软件的使用,通过人机会话,输入原始数据和有关要求,无须人工干预,就可以由计算机系统自动生成数据库结构及相应的应用程序。

由于该设计方法基于某一MIS辅助设计系统,从而受限于某种DBMS,使得最终产生的数据库及其软件系统带有一定的局限性。

3. 数据库设计的基本过程

输入内容(哪4个部分?)

输出:完整的数据库逻辑结构和物理结构,应用程序的设计原则。

二、规划

1. 主要任务:进行建立数据库的必要性及可行性分析,确定数据库系统在组织中和信息系统中的地位,以及各个数据库之间的联系。

2. 规划阶段的三个步骤

系统调查:对企业组织作全面的调查,画出组织层次图,以了解企业的组织结构。

可行性分析:从技术、经济、效益、法律等方面对建立数据库的可行性进行分析;写出可行性分析报告;组织专家进行讨论其可行性。确定数据库系统的总目标和制定项目开发计划

分析企业的基本业务功能,确定数据库支持的范围,是建立一个综合的数据库,还是建立若干个专门的数据库。

在实际操作中,可以建立一个支持组织全部活动的包罗万象的综合数据库;也可以建立若干个范围不同的公用或专用数据库。

数据库应用系统的拓扑结构

3. 数据库规划工作完成以后,应写出详尽的可行性分析报告和数据库系统规划纲要,内容包括:

信息范围;

信息来源;

人力资源;

设备资源;

软件及支持工具资源;

开发成本估算;

开发进度计划;

现行系统向新系统过渡计划等。

三、需求分析

1. 任务:对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能够接受的文档。

需求分析工作

分析用户活动产生,产生业务流程图

确定系统范围,产生系统范围图

分析用户活动涉及的数据,产生数据流图

分析系统数据,产生数据字典

确定全部的用户需求是一件很困难的事情:

第一,系统本身的需求是变化的,用户的需求必须不断调整,使之与这种变化一致。

第二,由于用户缺少计算机信息系统设计方面的专业知识,要表达他们的需求很困难。特别是很难说清楚某部分工作的功能与处理过程。

第三,要调动用户的积极性,使他们能积极参与系统的分析与设计工作相当困难。

我们设计人员必须首先认识到在整个需求分析以及系统设计过程中,用户参与的重要性。

需求分析中调查分析的方法很多,通常的办法是对不同层次的企业管理人员进行个人访问,内容包括业务处理和企业组织中的各种数据。

还应该考虑系统将来要发生的变化,充分考虑到系统可能的扩充和变动,以减少系统维护的代价。

2. 需求分析的输入与输出

3. 需求分析的步骤

1)需求信息的收集

(1)调查的目的

首先,要了解组织的机构设置,主要业务活动和职能。

其次,要确定组织的目标,大致工作流程和任务范围划分。

(2)调查的内容

外部要求

业务现状

组织机构等

(3)调查方式

开座谈会;

跟班作业;

请调查对象填写调查表;

查看业务记录、票据;

个别交谈。

2)需求信息的分析整理

(1)业务流程分析

业务流程分析的目的是获得业务流程及业务与数据联系的形式描述。

一般采用数据流分析法,分析结果以数据流图(data flow diagram,DFD)表示。

一个DFD由数据流、处理过程、数据存储等部分组成。(见书)

(2)分析结果的描述

除了DFD以外,还要用一些规范表格进行补充描述。

为了清楚地描述需求分析的结果,需要整理出下列清单:

数据项清单:列出每一个数据项的名称、含义、来源、类型和长度等。

业务活动清单:列出每一部门中最基本的工作任务,包括任务的定义、操作类型、执行频度、所属部门及涉及的数据项等。

完整性、一致性要求。

安全性要求。

响应时间要求。

预期变化的影响。

3)评审

评审的目的在于确认某一阶段的任务是否全部完成,以避免重大的疏漏或错误。

4. 数据字典(data dictionary, DD)是对系统中数据的详尽描述,它提供对数据库数据描述的集中管理。

1)数据项

包括数据项名、含义、别名、类型、长度、取值范围以及与其它数据项的逻辑关系。

2)数据结构

数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,或有若干个数据项和数据结构混合组成。

它包括数据结构名、含义及组成该数据结构的数据项名或数据结构名。

3)数据流

数据流可以是数据项,也可以是数据结构,表示某一加工处理过程的输入或输出数据。

对数据流的描述应包括数据流名、说明、流出的加工名、流入的加工名以及组成该数据流的数据结构或数据项。

4)数据存储

数据存储是处理过程中要存储的数据,它可以是手工凭证、手工文档或计算机文档。

对数据存储的描述应包括:数据存储名、说明、输入数据流、输出数据流、

数据量、存取频度和存取方式。

5)处理进程

对处理进程的描述包括处理进程名、说明、输入数据流、输出数据流,并简要说明处理工作、频度要求、数据量及响应时间等。

E-R图向关系模型的转换一般遵循如下原则:

1. 一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的码就是关系的码。

例如在我们的例子中,学生实体可以转换为如下关系模式,其中学号为学生关系的码:

学生(学号,姓名,出生日期,所在系,年级,平均成绩)同样,性别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换为一个关系模式。

2. 一个联系转化为一个关系模式,与该联系相连的各实体的码以及联系的属性转化为关系的属性,该关系的码则有三种情况:

l 若联系为1:1,则每个实体的码均是该关系的后选码。

l 若联系为1:n,则关系的码为n端实体的码。

l 若联系为m:n,则关系的码为诸实体码的组合。

2.1 联系为1:1

一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

l 如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。

l 如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。

例如在我们的例子中,“管理”联系为1:1联系,我们可以将其转换为一个独立的关系模式:

管理(职工号,班级号)或管理(职工号,班级号)

管理”联系也可以与班级或教师关系模式合并。如果与班级关系模式合并,则只需在班级关系中加入教师关系的码,即职工号:

班级:{班级号,学生人数,职工号}

同样,如果与教师关系模式合并,则只需在教师关系中加入班级关系的码,即班级号:

教师:{职工号,姓名,性别,职称,班级号,是否为优秀班主任}2.2 联系为1:n

一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

l 如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

l 如果与n端对应的关系模式合并,则在n端实体对应模式中加入1端实体所对应关系模式的码,以及联系本身的属性。而关系的码为n端实体的码。

例如在我们的例子中,“组成”联系为1:n联系,将其转换为关系模式。一种方法是使其成为一个独立的关系模式:

组成(学号,班级号)

其中学号为“组成”关系的码。

另一种方法是将其学生关系模式合并,这时学生关系模式为:

学生(学号,姓名,出生日期,所在系,年级,班级号,平均成绩)后一种方法可以减少系统中的关系个数,一般情况下更倾向于采用这种方法。

2.3 联系为m:n

一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。例如在我们的例子中,“选修”联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:

选修(学号,课程号,成绩)

三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。

例如在我们的例子中,“讲授”联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、教师号和书号为关系的组合码:

讲授(课程号,教师号,书号)

3.同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。

例如,如果教师实体集内部存在领导与被领导的1:n自联系,我们可以将该联系与教师实体合并,这时主码职工号将多次出现,但作用不同,可用不同的属性名加以区分,比如在合并后的关系模式中,主码仍为职工号,再增设一个“系主任”属性,存放相应系主任的职工号。

4.具有相同码的关系模式可合并。

为了减少系统中的关系个数,如果两个关系模式具有相同的主码,可以考虑将他们合并为一个关系模式。合并方法是将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。

例如我们有一个“拥有”关系模式:拥有(学号,性别)

有一个学生关系模式:学生(学号,姓名,出生日期,所在系,年级,班级号,平均成绩)

这两个关系模式都以学号为码,我们可以将它们合并为一个关系模式,假设合并后的关系模式仍叫学生:

学生(学号,姓名,性别,出生日期,所在系,年级,班级号,平均成绩)

按照上述4条原则,学生管理子系统中的18个实体和联系可以转换为下列关系模型:

学生(学号,姓名,性别,出生日期,所在系,年级,班级号,平均成绩,档案号)

性别(性别,宿舍楼)

宿舍(宿舍编号,地址,性别,人数)

班级(班级号,学生人数)

教师(职工号,姓名,性别,职称,班级号,是否为优秀班主任)

教学(职工号,学号)

课程(课程号,课程名,学分,教室号)

选修(学号,课程号,成绩)

教科书(书号,书名,价钱)

教室(教室编号,地址,容量)

讲授(课程号,教师号,书号)

档案材料(档案号,……)

该关系模型由12个关系模式组成。其中学生关系模式包含了“拥有”联系、“组成”联系、“归档”联系所对应的关系模式;教师关系模式包含了“管理”联系所对应的关系模式;宿舍关系模式包含了“住宿”联系所对应的关系模式;课程关系模式包含了“开设”联系所对应的关系模式。

一、数据库设计过程

数据库技术是信息资源管理最有效的手段。

数据库设计是指:对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。

数据库设计的各阶段:

A、需求分析阶段:综合各个用户的应用需求(现实世界的需求)。

B、在概念设计阶段:形成独立于机器和各DBMS产品的概念模式(信息世界模型),用

E-R图来描述。

C、在逻辑设计阶段:将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。

D、在物理设计阶段:根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。

1. 需求分析阶段

需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。

需求分析的重点:调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。

需求分析的方法:调查组织机构情况、各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。

常用的调查方法有:跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。

分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。自顶向下的结构化分析方法(Structured Analysis,简称SA方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。

数据流图表达了数据和处理过程的关系。系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述。

2. 概念结构设计阶段

通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。

概念模型用于信息世界的建模。概念模型不依赖于某一个DBMS支持的数据模型。概念模型可以转换为计算机上某一DBMS支持的特定数据模型。

概念模型特点:

(1) 具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。

(2) 应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。

概念模型设计的一种常用方法为IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型。

作者: 小灵, 出处:论坛, 责任编辑: 李书琴, 2007-09-27 15:17

本文详细解析了数据库设计过程、设计技巧以及总结了数据库命名规范……

2.1 第零步——初始化工程

这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模队伍,收集源材料,制定约束和规范。收集源材料是这阶段的重点。通过调查和观察结果,业务流程,原有系统的输入输出,各种报表,收集原始数据,形成了基本数据资料表。

2.2 第一步——定义实体

实体集成员都有一个共同的特征和属性集,可以从收集的源材料——基本数据资料表中直接或间接标识出大部分实体。根据源材料名字表中表示物的术语以及具有“代码”结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标识出来,从而初步找出潜在的实体,形成初步实体表。

2.3 第二步——定义联系

IDEF1X模型中只允许二元联系,n元联系必须定义为n个二元联系。根据实际的业务需求和规则,使用实体联系矩阵来标识实体间的二元关系,然后根据实际情况确定出连接关系的势、关系名和说明,确定关系类型,是标识关系、非标识关系(强制的或可选的)还是非确定关系、分类关系。如果子实体的每个实例都需要通过和父实体的关系来标识,则为标识关系,否则为非标识关系。非标识关系中,如果每个子实体的实例都与而且只与一个父实体关联,则为强制的,否则为非强制的。如果父实体与子实体代表的是同一现实对象,那么它们为分类关系。

2.4 第三步——定义码

通过引入交叉实体除去上一阶段产生的非确定关系,然后从非交叉实体和独立实体开始标识侯选码属性,以便唯一识别每个实体的实例,再从侯选码中确定主码。为了确定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体实例的一个属性不能是空值,也不能在同一个时刻有一个以上的值。找出误认的确定关系,将实体进一步分解,最后构造出IDEF1X模型的键基视图(KB图)。

2.5 第四步——定义属性

从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。定义非主码属性,检查属性的非空及非多值规则。此外,还要检查完全依赖函数规则和非传递依赖规则,保证一个非主码属性必须依赖于主码、整个主码、仅仅是主码。以此得到了至少符合关系理论第三范式的改进的IDEF1X模型的全属性视图。

2.6 第五步——定义其他对象和规则

定义属性的数据类型、长度、精度、非空、缺省值、约束规则等。定义触发器、存储过程、视图、角色、同义词、序列等对象信息。

3. 逻辑结构设计阶段

将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS。

将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的码就是关系的码。

数据模型的优化,确定数据依赖,消除冗余的联系,确定各关系模式分别属于第几范式。确定是否要对它们进行合并或分解。一般来说将关系分解为3NF的标准,即:

表内的每一个值都只能被表达一次。

表内的每一行都应该被唯一的标识(有唯一键)。

表内不应该存储依赖于其他键的非键信息。

作者: 小灵, 出处:论坛, 责任编辑: 李书琴, 2007-09-27 15:17

本文详细解析了数据库设计过程、设计技巧以及总结了数据库命名规范……

4. 数据库物理设计阶段

为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。

5. 数据库实施阶段

运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。数据库实施主要包括以下工作:用DDL定义数据库结构、组织数据入库、编制与调试应用程序、数据库试运行,(Data Definition Language(DDL数据定义语言)用作开新数据表、设定字段、删除数据表、删除字段,管理所有有关数据库结构的东西)

●Create (新增有关数据库结构的东西,属DDL)

●Drop (删除有关数据库结构的东西,属DDL)

●Alter (更改结构,属DDL)

6. 数据库运行和维护阶段

在数据库系统运行过程中必须不断地对其进行评价、调整与修改。内容包括:数据库的转储和恢复、数据库的安全性、完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造。

7. 建模工具的使用

为加快数据库设计速度,目前有很多数据库辅助工具(CASE工具),如Rational公司的Rational Rose,CA公司的Erwin和Bpwin,Sybase公司的PowerDesigner以及Oracle 公司的oracle Designer等。

ERwin主要用来建立数据库的概念模型和物理模型。它能用图形化的方式,描述出实体、联系及实体的属性。ERwin支持IDEF1X方法。通过使用ERwin建模工具自动生成、更改和分析IDEF1X模型,不仅能得到优秀的业务功能和数据需求模型,而且可以实现从IDEF1X 模型到数据库物理设计的转变。ERwin工具绘制的模型对应于逻辑模型和物理模型两种。在逻辑模型中,IDEF1X工具箱可以方便地用图形化的方式构建和绘制实体联系及实体的属性。在物理模型中,ERwin可以定义对应的表、列,并可针对各种数据库管理系统自动转换为适当的类型。

设计人员可根据需要选用相应的数据库设计建模工具。例如需求分析完成之后,设计人员可以使用Erwin画ER图,将ER图转换为关系数据模型,生成数据库结构;画数据流图,生成应用程序。

二、数据库设计技巧

1. 设计数据库之前(需求分析阶段)

1) 理解客户需求,包括用户未来需求变化。

2) 了解企业业务类型,可以在开发阶段节约大量的时间。

3) 重视输入(要记录的数据)、输出(报表、查询、视图)。

4) 创建数据字典和ER 图表

数据字典(Data Dictionary,简称DD)是各类数据描述的集合,是关于数据库中数据的描述,即元数据,不是数据本身。(至少应该包含每个字段的数据类型和在每个表内的主外键)。

数据项描述: 数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系

数据结构描述: 数据结构名,含义说明,组成:[数据项或数据结构]

数据流描述: 数据流名,说明,数据流来源,数据流去向,组成:[数据结构],平均流量,高峰期流量

数据存储描述: 数据存储名,说明,编号,流入的数据流,流出的数据流,组成:[数据结构],数据量,存取方式

处理过程描述: 处理过程名,说明,输入:[数据流],输出:[数据流],处理:[简要说明]

ER 图表和数据字典可以让任何了解数据库的人都明确如何从数据库中获得数据。ER图对表明表之间关系很有用,而数据字典则说明了每个字段的用途以及任何可能存在的别名。对SQL 表达式的文档化来说这是完全必要的。

5) 定义标准的对象命名规范

数据库各种对象的命名必须规范。

作者: 小灵, 出处:论坛, 责任编辑: 李书琴, 2007-09-27 15:17

本文详细解析了数据库设计过程、设计技巧以及总结了数据库命名规范……

2. 表和字段的设计(数据库逻辑设计)

表设计原则

1) 标准化和规范化

数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来说,遵守3NF 标准的数据库的表设计原则是:“One Fact in One Place”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。表之间的关系通过外键相连接。它具有以下特点:有一组表专门存放通过键连接起来的关联数据。

2) 数据驱动

采用数据驱动而非硬编码的方式,许多策略变更和维护都会方便得多,大大增强系统的灵活性和扩展性。

举例,假如用户界面要访问外部数据源(文件、XML 文档、其他数据库等),不妨把相应的连接和路径信息存储在用户界面支持的表里。如果用户界面执行工作流之类的任务(发送邮件、打印信笺、修改记录状态等),那么产生工作流的数据也可以存放在数据库里。角色

数据库系统概论第五版第七章习题解答和解析汇编

第七章习题解答和解析 1. 试述数据库设计过程。 答: 这里只概要列出数据库设计过程的六个阶段: (1) 需求分析; (2) 概念结构设计; (3) 逻辑结构设计; (4) 数据库物理设计; (5) 数据库实施; (6) 数据库运行和维护。 这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。 设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。 解析:希望读者能够认真阅读《概论》7.1 的内容,了解并掌握数据库设计过程。 2.试述数据库设计过程中结构设计部分形成的数据库模式。 答: 数据库结构设计的不同阶段形成数据库的各级模式,即: (1) 在概念设计阶段形成独立于机器特点,独立于各个DB MS 产品的概念模式,在本篇中就是E-R 图; (2) 在逻辑设计阶段将E-R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图(View),形成数据的外模式; (3) 在物理设计阶段,根据DB MS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。 读者可以参考《概论》上图7.4。图中概念模式是面向用户和设计人员的,属于概念模型的层次;逻辑模式、外模式、内模式是DBMS 支持的模式,属于数据模型的层次,可以在DBMS 中加以描述和存储。 3.需求分析阶段的设计目标是什么? 调查的内容是什么? 答 需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。 调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求: (1) 信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据; (2) 处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理; (3) 安全性与完整性要求。 详细的可以参考《概论》上7. 2。 4.数据字典的内容和作用是什么? 答

数据库课后题答案 第7章 数据库设计

第7章数据库设计 1.试述数据库设计过程。 答:这里只概要列出数据库设计过程的六个阶段:( l )需求分析;( 2 )概念结构设计;( 3 )逻辑结构设计;( 4 )数据库物理设计;( 5 )数据库实施;( 6 )数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。 2 .试述数据库设计过程各个阶段上的设计描述。 答:各阶段的设计要点如下:( l )需求分析:准确了解与分析用户需求(包括数据与处理)。( 2 )概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型。( 3 )逻辑结构设计:将概念结构转换为某个DBMS 所支持的数据模型,并对其进行优化。( 4 )数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。( 5 )数据库实施:设计人员运用DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。( 6 )数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。 3 .试述数据库设计过程中结构设计部分形成的数据库模式。 答:数据库结构设计的不同阶段形成数据库的各级模式,即:( l )在概念设计阶段形成独立于机器特点,独立于各个DBMS 产品的概念模式,在本篇中就是 E 一R 图;( 2 )在逻辑设计阶段将 E 一R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图( Vi 娜),形成数据的外模式;( 3 )在物理设计阶段,根据DBMS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。 4 .试述数据库设计的特点。 答:数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目。其主要特点有:( l )数据库建设是硬件、软件和干件(技术与管理的界面)的结合。( 2 )从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。 5 .需求分析阶段的设计目标是什么?调查的内容是什么? 答:需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。调查的内容是“数据’夕和“处理”,即获得用户对数据库的如下要求:( l )信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;( 2 )处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理;( 3 )安全性与完整性要求。 6 .数据字典的内容和作用是什么? 答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:( l )数据项;( 2 )数据结构;( 3 )数据流;( 4 )数据存储;( 5 )处理过程五个部分。其中数据项是数

第七章数据库设计

第七章数据库设计 内容概述 讲解数据库设计方法和技术。数据库设计的特点,数据库设计的基本步骤,数据库设计过程中数据字典的内容,数据库设计各个阶段的设计目标、具体设计内容、设计描述、设计方法等。本章内容的实践性较强,教师可以少讲,让学生多读书并进行实践。 本章目标 了解数据库设计的重要性和数据库设计在信息系统开发和建设中的核心地位。掌握数据库设计方法和步骤,使学生具有设计数据库模式以及开发数据库应用系统的基本能力,能在实际工作中运用这些知识、技术和方法,设计符合应用需求的数据库及其应用系统。 重点和难点 重点:掌握数据库设计步骤和数据库设计过程中的各级模式设计方法。特别是数据库概念结构的设计和逻辑结构的设计,这是数据库设计过程中最重要的两个环节。牢固掌握用E-R图来表示概念模型的方法,掌握E-R图的设计,E-R图向关系模型的转换。 难点:技术上的难点是E-R图的设计和数据模型的优化,包括对现实世界进行抽象的能力,提取实体、属性、实体型之间的联系,正确划分实体与属性的能力。真正的难点是理论与实际的结合。同学们一般缺乏实际经验,缺乏对实际问题解决的能力。特别是缺乏应用领域的知识。而数据库设计需要设计人员对应用

环境、专业业务有具体深入的了解,这样才能设计出符合具体领域要求的数据库及其应用系统。要在完成本章习题的基础上认真完成大作业。体会这些要点,从而真正掌握本章讲解的知识、方法和技术。 课程大作业《数据库设计与应用开发》 在某个RDBMS产品上,选择合适的应用系统开发工具为某个部门或单位开发一个数据库应用系统。通过实践,掌握本章介绍的数据库设计方法,同时培养团队合作精神。要求5~6位同学组成一个开发小组,每位同学承担不同角色(例如:项目管理员、DBA、系统分析员、系统设计员、系统开发员、系统测试员)。 具体要求: 1.给出数据库设计各个阶段的详细设计报告; 2.写出系统的主要功能和使用说明; 3.提交运行的系统; 4.写出收获和体会,包括已解决和尚未解决的问题,进一步完善的设想与建议; 5.每个小组进行60分钟的报告和答辩,讲解设计方案,演示系统运行,汇报分工与合作情况。

第7章 数据库设计

第7章数据库设计 一、选择题 1. 概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于DBMS的()。 A. 数据模型 B. 概念模型 C. 层次模型 D. 关系模型 2. 针对一个具体问题,如何构造一个适合于它的关系数据库模式是()主要解决的问题。 A. 物理结构设计 B. 数据字典 C. 逻辑结构设计 D. 关系数据库查询 3. 数据库设计中,确定数据库存储结构,即确定关系、索引、聚簇、日志、备份等数据的存储安排和存储结构,这是数据库设计的()。 A. 需求分析阶段 B. 逻辑设计阶段 C. 概念设计阶段 D. 物理设计阶段 4. 数据库设计可划分为六个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上建什么样的索引”这一设计内容属于()阶段。 A. 需求分析 B. 逻辑设计 C. 概念设计 D. 物理设计 5. 数据库物理设计完成后,进入数据库实施阶段,下述工作中,()一般不属于实施阶段的工作。 A. 建立库结构 B. 系统调试 C. 加载数据 D. 扩充功能 6. 在关系数据库设计中,对关系进行规范化处理,使关系达到一定的范式,例如达到3NF,这是()的任务。 A. 需求分析阶段 B. 逻辑设计阶段 C. 概念设计阶段 D. 物理设计阶段 7. 概念模型是现实世界的第一层抽象,这一类模型中最著名的是()。 A. 层次模型 B. 关系模型 C. 网状模型 D. 实体-联系模型 8. 关系数据库中实现实体与实体之间的联系是通过关系与关系之间的()。 A. 公共索引 B. 公共存储 C. 公共元组 D. 公共属性 9. 数据流图(DFD)是用于数据库设计中()阶段的工具。 A. 概要设计 B. 可行性分析 C. 程序编码 D. 需求分析 10. 在数据库设计中,将E-R图转换成关系数据模型的过程属于()。 A. 需求分析阶段 B. 逻辑设计阶段 C. 概念设计阶段 D. 物理设计阶段 11. 数据库设计的概念阶段,表示概念结构的常用方法和描述工具是()。 A. 层次分析法和层次结构图 B. 数据流程分析法和数据流程图 C. 实体联系方法 D. 结构分析法和模块结构图 12. 子模式DDL是用来描述()的。 A. 数据库的总体逻辑结构 B. 数据库的局部逻辑结构 C. 数据库的物理存储结构 D. 数据库的概念结构 13. 关系数据库规范化理论主要解决的问题是()。 A. 如何构造合适的数据逻辑结构 B. 如何构造合适的数据物理结构 C. 如何构造合适的应用程序界面 D. 如何控制不同用户的数据操作权限 14. 从E-R图导出关系模型时,如果实体间的联系是M:N的,下列说法中正确的是()。 A. 将N方码和联系的属性纳入M方的属性中 B. 将M方码和联系的属性纳入N方的属性中主码

第七章:数据库设计

第七章数据库设计 1.试述数据库设计过程。 答:这里只概要列出数据库设计过程的六个阶段: ( l )需求分析; ( 2 )概念结构设计; ( 3 )逻辑结构设计; ( 4 )数据库物理设计; ( 5 )数据库实施; ( 6 )数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。 2 .试述数据库设计过程各个阶段上的设计描述。 答:各阶段的设计要点如下: ( l )需求分析:准确了解与分析用户需求(包括数据与处理)。 ( 2 )概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型。 ( 3 )逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化。 ( 4 )数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。 ( 5 )数据库实施:设计人员运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 ( 6 )数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。 3 .试述数据库设计过程中结构设计部分形成的数据库模式。 答:数据库结构设计的不同阶段形成数据库的各级模式,即: ( l )在概念设计阶段形成独立于机器特点,独立于各个 DBMS 产品的概念模式,在本篇中就是 E 一 R 图; ( 2 )在逻辑设计阶段将 E 一 R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图 ( Vi 娜),形成数据的外模式; ( 3 )在物理设计阶段,根据 DBMS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。 5 .什么是数据库的概念结构?试述其特点和设计策略。 答:概念结构是信息世界的结构,即概念模型,其主要特点是: ( l )能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型; ( 2 )易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键; ( 3 )易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充; ( 4 )易于向关系、网状、层次等各种数据模型转换。概念结构的设计策略通常有四种: l )自顶向下,即首先定义全局概念结构的框架,然后逐步细化; 2 )自底向上,即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构; 3 )逐步扩张,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构; 4 )混合策略,即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上

数据库系统概论 第七章习题

第七章 一、选择题: 1.以下关于E-R图的叙述正确的是(C) A.E-R图建立在关系数据库的假设上 B.E-R图使过程和数据的关系清晰,实体间的关系可导出应用过程的表示 C.E-R图可将现实世界中的信息抽象地表示为实体以及实体间的联系 D.E-R图能表示数据生命周期 2.在数据库设计过程中,设计用户外模式属于(B) A.物理设计 B.逻辑结构设计 C.数据库实施 D.概念结构设计 3.如何构造出一个合适的数据库逻辑结构是(C)主要解决的问题。 A.物理结构设计 B.数据字典 C.逻辑结构设计 D.关系数据库查询 4.概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的(B)。 A.数据模型 B.概念模型 C.层次模型 D.关系模型 5.数据库设计可划分为六个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上建什么样的索引”这一设计内容应该属于(C)设计阶段。 A.概念设计 B.逻辑设计 C.物理设计 D.全局设计 7.在关系数据库设计中,对关系进行规范化处理,使关系达到一定的范式,例如达到3NF,这是(D)阶段的任务。 A.需求分析 B.概念设计 C.物理设计

D.逻辑设计 8.在概念模型中的客观存在并可相互区别的事物称为(A)。 A.实体 B.元组 C.属性 D.节点 9.某公司有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是(D)。 A.多对多 B.一对一 C.一对多 D.多对一 11.在数据库设计中,将ER图转换成关系数据模型的过程属于(B)。 A.需求分析阶段 B.逻辑设计阶段 C.概念设计阶段 D.物理设计阶段 12.在ER模型中,如果有3个不同的实体,3个M:N联系,根据ER模型转换为关系模型的规则,转换为关系的数目是(C)。 A.4 B.5 C.6 D.7 14. 如果两个实体集之间的联系是m:n,转换为关系时(B)。 A. 联系本身不必单独转换为一个关系 B. 联系本身必须单独转换为一个关系 C. 联系本身也可以不单独转换为一个关系 D. 将两个实体合并为一个实体 15. 数据库设计人员之间与用户之间沟通信息的桥梁是(B)。 A. 程序流程图 B. E-R图 C. 功能模块图 D. 数据结构图 17. 如果两个实体之间的联系是1:n,转换为关系时(A)。 A. 将n端实体的关系中加入1端实体的码 B. 将n端实体的关系的码加入到1端的关系中

第七章 数据库设计

第六章数据库设计 习题 1.试述数据库设计过程。 2.试述数据库设计过程各个阶段上的设计描述。 3.试述数据库设计过程中结构设计部分形成的数据库模式。 4.试述数据库设计的特点。 5.需求分析阶段的设计目标是什么?调查的内容是什么? 6.数据字典的内容和作用是什么? 7.什么是数据库的概念结构?试述其特点和设计策略。 8.什么叫数据抽象?试举例说明。 9.试述数据库概念结构设计的重要性和设计步骤。 10.为什么要视图集成?视图集成的方法是什么? 11.什么是数据库的逻辑结构设计?试述其设计步骤。 12.试把第一章习题12和习题13中的E-R图转换为DBTG模型、IMS模型、关系模型。 13.使用规范化理论中有关范式的概念分析习题12中你设计的模型中各个关系模型的码,他们术语第几模式?会产生什么更新异常? 14.规范化理论对数据库设计有什么指导意义? 15.试述数据库物理设计的内容和步骤。 16.数据输入在实施阶段的重要性是什么?如何保证输入数据的正确性? 17.什么是数据库的再组织和再构造?为什么要进行数据库的再组织和再构造? 18.现有一局部应用,包括两个实体:”出版社”和”作者”,这两个实体是多对多的联系,请读者自己设计恰当的属性,画出E-R图,再将其转换为关系模型(包括关系名、属性名、码和完整性约束条件)。 19.请设计一个图书管数据库,此数据库中对每个借阅者保存读者记录,包括:读者号、姓名、地址、性别、年龄、单位。对每本书存有:书号、书名、作者、出版社。对每本被借出的书存有读者号、借出日期和应还日期。要求:给促E-R图,再将其转换为关系模型。 *20.你能给出有E-R图转换为IMS模型的转换规则吗?(补充题) 参考答案 1.答:这里只概要列出数据库设计过程的六个阶段: (1)需求分析; (2)概念结构设计; (3)逻辑结构设计; (4)数据库物理设计; (5)数据库实施; (6)数据库运行和维护。 这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。 设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。 2.答:各阶段的设计要点如下: (1)需求分析:准确了解与分析用户需求(包括数据与处理)。 (2)概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型。 (3)逻辑结构设计:将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。 (4)数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法) (5)数据库实施:设计人员运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 (6)数据库运行和维护:数据库系统运行过程中对其进行评价、调整与修改。 3.答:数据库结构设计的不同阶段形成数据库的名级模式,即:

数据库系统概论第五版第七章习题解答和解析(完整资料).doc

【最新整理,下载后即可编辑】 第七章习题解答和解析 1. 试述数据库设计过程。 答: 这里只概要列出数据库设计过程的六个阶段: (1) 需求分析; (2) 概念结构设计; (3) 逻辑结构设计; (4) 数据库物理设计; (5) 数据库实施; (6) 数据库运行和维护。 这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。 设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。 解析:希望读者能够认真阅读《概论》7.1 的内容,了解并掌握数据库设计过程。 2.试述数据库设计过程中结构设计部分形成的数据库模式。 答: 数据库结构设计的不同阶段形成数据库的各级模式,即: (1) 在概念设计阶段形成独立于机器特点,独立于各个DB MS 产品的概念模式,在本篇中就是E-R 图; (2) 在逻辑设计阶段将E-R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图(View),形成数据的外模式; (3) 在物理设计阶段,根据DB MS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。 读者可以参考《概论》上图7.4。图中概念模式是面向用户和设计人员的,属于概念模型的层次;逻辑模式、外模式、内模式是DBMS 支持的

模式,属于数据模型的层次,可以在DBMS 中加以描述和存储。 3.需求分析阶段的设计目标是什么? 调查的内容是什么? 答 需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。 调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求: (1) 信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据; (2) 处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理; (3) 安全性与完整性要求。 详细的可以参考《概论》上7. 2。 4.数据字典的内容和作用是什么? 答 数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:(1) 数据项;(2) 数据结构;(3) 数据流;(4) 数据存储;(5) 处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。 数据字典的作用: 数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。 (详细参考《概论》上7. 2. 3。注意,数据库设计阶段形成的数据字典与DBMS 中的数据字典不同,后者是DBMS 关于数据库中数据的描述,当然两者是有联系的)。 5.什么是数据库的概念结构? 试述其特点和设计策略。 答 概念结构是信息世界的结构,即概念模型,其主要特点是: (1) 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满

相关主题
文本预览
相关文档 最新文档