第5章 数据库设计_第1页
第5章 数据库设计_第2页
第5章 数据库设计_第3页
第5章 数据库设计_第4页
第5章 数据库设计_第5页
已阅读5页,还剩74页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、12本章内容本章内容需求分析5.2 概念结构设计5.3物理结构设计5.5 数据库设计概述5.1 数据库的实施和维护5.6 逻辑结构设计5.435.1.1 5.1.1 数据库设计的定义、内容和特点数据库设计的定义、内容和特点 数据库设计概述5.1v数据库设计数据库设计就是根据选择的数据库管理系统和用户需就是根据选择的数据库管理系统和用户需求对一个单位或部门的数据进行求对一个单位或部门的数据进行重新组织重新组织和和构造构造的过的过程。程。数据库设计的内容数据库设计的内容结构设计结构设计行为设计行为设计概念设计、逻辑设计和物理设计概念设计、逻辑设计和物理设计 应用程序的设计应用程序的设计 数据库设计

2、的特点数据库设计的特点(1)(1)数据库设计是硬件、软件和数据库设计是硬件、软件和干件的结合。干件的结合。(2)(2)现代数据库的设计特点是强调结现代数据库的设计特点是强调结构设计与行为设计相结合,是一种构设计与行为设计相结合,是一种“反复探寻,反复探寻,逐步求精逐步求精”的过程。的过程。 5.1.2 5.1.2 数据库设计方法数据库设计方法n设计方法设计方法v直观设计法直观设计法v规范设计法规范设计法基于基于3NF3NF的数据库设计方法、基于实体联系的设计的数据库设计方法、基于实体联系的设计方法、基于视图概念的数据库设计方法等。方法、基于视图概念的数据库设计方法等。 v基于基于E-RE-R模

3、型的方法模型的方法v基于基于3NF3NF的方法的方法v基于视图的设计方法基于视图的设计方法起源:新奥尔良法u直观设计法直观设计法也叫手工试凑法,是最早使用的数据库设也叫手工试凑法,是最早使用的数据库设计方法,在相当长的一段时期内,数据库设计主要采用该计方法,在相当长的一段时期内,数据库设计主要采用该方法。直观设计法依赖于设计者的经验和技巧,缺乏科学方法。直观设计法依赖于设计者的经验和技巧,缺乏科学理论和工程原则的支持,设计质量很难保证。理论和工程原则的支持,设计质量很难保证。u规范设计法规范设计法从本质上看仍然是手工设计方法,其基本思想从本质上看仍然是手工设计方法,其基本思想是过程迭代和逐步求

4、精。是过程迭代和逐步求精。19781978年年1010月,来自月,来自3030多个国家的多个国家的数据库专家在美国新奥尔良市专门讨论了数据库设计问题,数据库专家在美国新奥尔良市专门讨论了数据库设计问题,他们运用软件工程的思想和方法,提出了数据库设计的规他们运用软件工程的思想和方法,提出了数据库设计的规范,这就是著名的新奥尔良法,是目前公认的比较完整和范,这就是著名的新奥尔良法,是目前公认的比较完整和权威的一种规范设计法。它将数据库设计分成需求分析权威的一种规范设计法。它将数据库设计分成需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑(分析用户需求)、概念设计(信息分析和定义)、逻辑设

5、计(设计实现)和物理设计(物理数据库设计)。目前,设计(设计实现)和物理设计(物理数据库设计)。目前,常用的规范设计方法大多起源于常用的规范设计方法大多起源于新奥尔良法新奥尔良法,并在设计的,并在设计的每一阶段采用一些辅助方法来具体实现。常用的规范设计每一阶段采用一些辅助方法来具体实现。常用的规范设计方法有:方法有:6u (1 1)基于)基于E-RE-R模型的方法。模型的方法。 基于基于E-RE-R模型的数据库设计方法的基本思想是在需求分析的基础上,模型的数据库设计方法的基本思想是在需求分析的基础上,用用E-RE-R(实体(实体联系)图构造一个反映现实世界实体之间联系的企业联系)图构造一个反映

6、现实世界实体之间联系的企业模式,然后再将此企业模式转换成为特定的模式,然后再将此企业模式转换成为特定的DBMSDBMS的概念模式。的概念模式。u (2 2)基于)基于3NF3NF的方法。的方法。 基于基于3NF3NF的数据库设计方法的基本思想是在需求分析的基础上,确的数据库设计方法的基本思想是在需求分析的基础上,确定数据库模式中的全部属性和属性间的依赖关系,将它们组织在一个定数据库模式中的全部属性和属性间的依赖关系,将它们组织在一个单一的关系模式中,然后再分析模式中不符合单一的关系模式中,然后再分析模式中不符合3NF3NF的约束条件,将其的约束条件,将其进行投影分解,规范成若干个进行投影分解,

7、规范成若干个3NF3NF关系模式的集合。关系模式的集合。 设计企业模式,利用规范化得到的设计企业模式,利用规范化得到的3NF3NF关系模式画出企业模式;关系模式画出企业模式; 设计数据库的概念模式,把企业模式转换为设计数据库的概念模式,把企业模式转换为DBMSDBMS的概念模式,并根的概念模式,并根据概念模式导出应用的外模式;据概念模式导出应用的外模式; 设计数据库的物理模式;设计数据库的物理模式; 评价物理模式;评价物理模式; 实现数据库。实现数据库。7u(3 3)基于视图的设计方法。)基于视图的设计方法。 基于视图的数据库设计方法先从分析各个应用的数据着基于视图的数据库设计方法先从分析各个

8、应用的数据着手,其基本思想是为每个应用建立自己的视图,然后把这手,其基本思想是为每个应用建立自己的视图,然后把这些视图汇总起来合并成整个数据库的概念模式。合并过程些视图汇总起来合并成整个数据库的概念模式。合并过程中要解决以下问题:中要解决以下问题: 消除命名冲突;消除命名冲突; 消除冗余的实体和联系;消除冗余的实体和联系; 进行模式重构。在消除了命名冲突和冗余后,需要对整进行模式重构。在消除了命名冲突和冗余后,需要对整个汇总模式进行调整,使其满足全部完整性约束条件。个汇总模式进行调整,使其满足全部完整性约束条件。 8v需求分析需求分析 整个设计整个设计过程的基础过程的基础 包括信息需求分析和操

9、作需求分析包括信息需求分析和操作需求分析v概念结构设计概念结构设计 将将需求分析的结果需求分析的结果用一种工具进行用一种工具进行形形式化的定义和描述式化的定义和描述,是整个,是整个DBDB设计的关键。如:设计的关键。如:E-RE-R图图v逻辑结构设计逻辑结构设计概念模型概念模型数据模型数据模型 根据需求分析和概念设计的结果,根据需求分析和概念设计的结果,选择合适的数据模选择合适的数据模型型,并选用某一设计方法构造一数据库模式,并选用某一设计方法构造一数据库模式5.1.3 5.1.3 数据库设计的基本步骤数据库设计的基本步骤9v物理设计物理设计 选择合适的物理结构选择合适的物理结构 包括存储结构

10、和存取方法包括存储结构和存取方法v实施阶段:实施阶段:根据逻辑设计和物理设计根据逻辑设计和物理设计建立数据库建立数据库;编;编制和调试应用程序;试运行制和调试应用程序;试运行vDBDB运行和维护阶段运行和维护阶段 根据运行记录对根据运行记录对DBDB进行评价;进行评价; 根据评价对根据评价对DBDB调整和修改调整和修改10系统规划需求收集与分析概念模型功能模型逻辑模型结构模型物理模型程序设计性能评价与预测物理实现试运行运行、维护规划时期需求分析阶段概念设计阶段逻辑设计阶段物理设计阶段实施时期维护时期数据需求处理需求结构设计行为设计图5-1 数据库生存周期示意图11 调查清楚用户的实际需求并进行

11、初步分析调查清楚用户的实际需求并进行初步分析 熟悉调查对象的业务流程熟悉调查对象的业务流程, ,重点调查重点调查 “数据数据”和和“处处理理” 确定哪些功能由计算机完成或将来准备由计算机完成,确定哪些功能由计算机完成或将来准备由计算机完成,哪些活动由人工完成,由计算机完成的功能就是新系哪些活动由人工完成,由计算机完成的功能就是新系统应该实现的功能。统应该实现的功能。 进一步分析与表达这些需求,形成系统分析报告进一步分析与表达这些需求,形成系统分析报告 系统的目标、范围、背景、历史和现状系统的目标、范围、背景、历史和现状 系统总体结构和子系统结构说明;系统总体结构和子系统结构说明; 系统功能说明

12、系统功能说明, ,系统方案的可行性;系统方案的可行性;v需求分析的具体任务及过程需求分析的具体任务及过程 调查分析用户活动调查分析用户活动5.2 5.2 需求分析需求分析5.2.15.2.1需求分析的任务需求分析的任务12v 在数据库设计的分析过程中,为了更好地理解用户的需求,在数据库设计的分析过程中,为了更好地理解用户的需求,常采用结构化分析方法(自顶向下和自底向上两类方法,如常采用结构化分析方法(自顶向下和自底向上两类方法,如图图5-2所示)和面向对象的方法来分析表达用户的需求。所示)和面向对象的方法来分析表达用户的需求。 (a) 自顶向下的需求分析 (b) 自底向上的需求分析 需求 需求

13、 需求 需求 需求 需求 需求 需求 需求 需求 需求 需求 需求 需求 5.2.2 5.2.2 需求分析的方法需求分析的方法 135.2.35.2.3需求分析的常用工具需求分析的常用工具 数据流图和数据字典数据流图和数据字典 数据流图数据流图 用命名的箭头表示数据流用命名的箭头表示数据流 用圆圈表示处理用圆圈表示处理 用矩形或其他形状表示存储用矩形或其他形状表示存储 数据的源点数据的源点/终点终点或或或或或或数据处理数据处理数据存储数据存储数据流数据流14u 1 1数据流图数据流图 数据流图是从数据传递和加工角度,以图形方式来表达系统的逻数据流图是从数据传递和加工角度,以图形方式来表达系统的

14、逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化分析辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化分析方法的主要表达工具。方法的主要表达工具。 录入课程 选课 课程表 选课表 学生 学院 图图5-3 5-3 选课管理系统的局部选课管理系统的局部DFDDFD图图15u2 2数据字典数据字典 DFD DFD图表达了数据与处理的关系,但没有数据内容的详细描图表达了数据与处理的关系,但没有数据内容的详细描述,而数据字典则恰好弥补了述,而数据字典则恰好弥补了DFDDFD图的不足。数据字典是用户需图的不足。数据字典是用户需求分析所获得的主要结果,是概念结构设计的必要输入。求分析所获得的

15、主要结果,是概念结构设计的必要输入。 数据字典是一种用户可以访问的、记录数据库和应用程序元数据字典是一种用户可以访问的、记录数据库和应用程序元数据的目录,可分为主动和被动两种类型。主动数据字典是指在数据的目录,可分为主动和被动两种类型。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由对数据库或应用程序结构进行修改时,其内容可以由DBMSDBMS自动更自动更新的数据字典;被动数据字典是指修改时必须手工更新其内容的新的数据字典;被动数据字典是指修改时必须手工更新其内容的数据字典。数据字典。16(1 1)数据字典的内容。)数据字典的内容。数据字典通常包括数据项、数据结构、数据流、数据

16、存储和处理过程数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5 5部分,它是关于数据库中数据的描述,而不是数据本身,数据本身部分,它是关于数据库中数据的描述,而不是数据本身,数据本身将存放在物理数据库中,由数据库管理系统管理。将存放在物理数据库中,由数据库管理系统管理。 数据项。数据项。数据项是不可再分的数据单位。对数据项的描述通常包括以下内容:数据项是不可再分的数据单位。对数据项的描述通常包括以下内容:数据项描述数据项描述=数据项名,数据项含义说明,别名,数据类型,长度,数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系取值范围,取值含义

17、,与其他数据项的逻辑关系 其中,取值范围、与其他数据项的逻辑关系定义了数据的完整性约束其中,取值范围、与其他数据项的逻辑关系定义了数据的完整性约束条件,是设计数据检验功能的依据。条件,是设计数据检验功能的依据。 数据结构。数据结构。数据结构反映了数据项之间的组合关系。由若干个数据项或数据结构数据结构反映了数据项之间的组合关系。由若干个数据项或数据结构组成一个数据结构,当然,数据结构也可由若干个数据项和数据结构组成一个数据结构,当然,数据结构也可由若干个数据项和数据结构混合组成。对数据结构的描述通常包括以下内容:混合组成。对数据结构的描述通常包括以下内容:数据结构描述数据结构描述=数据结构名,含

18、义说明,组成:数据结构名,含义说明,组成: 数据项或数据结构数据项或数据结构17 数据流。数据流。 数据流是数据结构在系统内传输的路径。对数据流的描述通常包括以下内数据流是数据结构在系统内传输的路径。对数据流的描述通常包括以下内容:容:数据流描述数据流描述=数据流名,说明,数据流来源,数据流去向,组成:数据流名,说明,数据流来源,数据流去向,组成: 数据结数据结构构 ,平均流量,高峰期流量,平均流量,高峰期流量 数据存储。数据存储。数据存储是数据结构保存的位置,是数据流的来源和去向之一。对数据存储数据存储是数据结构保存的位置,是数据流的来源和去向之一。对数据存储的描述通常包括以下内容:的描述通

19、常包括以下内容:数据存储描述数据存储描述=数据存储名,说明,编号,流入的数据流,流出的数据流,数据存储名,说明,编号,流入的数据流,流出的数据流,组成:组成: 数据结构数据结构 ,数据量,存取方式,数据量,存取方式 处理过程。处理过程。 处理过程是数据字典对处理过程进行描述的说明性信息,通常包括以下内处理过程是数据字典对处理过程进行描述的说明性信息,通常包括以下内容:容:处理过程描述处理过程描述=处理过程名,说明,输入:处理过程名,说明,输入: 数据流数据流 ,输出:,输出: 数据流数据流 ,处,处理:理: 简要说明简要说明18(2 2)数据字典的实现。)数据字典的实现。目前,实现数据字典通常

20、有目前,实现数据字典通常有3 3种途径:全人工过程、全自种途径:全人工过程、全自动化过程(利用数据字典处理程序)和混合过程(用正文动化过程(利用数据字典处理程序)和混合过程(用正文编辑程序、报告生成程序等帮助人工过程)。不论使用哪编辑程序、报告生成程序等帮助人工过程)。不论使用哪种途径实现的数据字典都应该具有以下特点:种途径实现的数据字典都应该具有以下特点: 通过名字能方便地查询数据的定义。通过名字能方便地查询数据的定义。 没有数据冗余。没有数据冗余。 容易更新和更改。容易更新和更改。 书写方式简单、方便、严格。书写方式简单、方便、严格。19 5.2.3 5.2.3 需求分析实例需求分析实例u

21、1 1用户功能资料收集用户功能资料收集 教学管理系统由教学管理系统由3 3部分组成:学生信息查询、学生选部分组成:学生信息查询、学生选课和教师成绩录入。通过该系统,把本校教学管理的各个课和教师成绩录入。通过该系统,把本校教学管理的各个环节进行有效地计划、组织和控制。环节进行有效地计划、组织和控制。 本系统主要信息流程为:学生、教师首先输入各自的本系统主要信息流程为:学生、教师首先输入各自的基本信息,管理员输入本部门的课程信息,学生根据本部基本信息,管理员输入本部门的课程信息,学生根据本部门的课程进行选课,管理员根据学生的选课信息和教师信门的课程进行选课,管理员根据学生的选课信息和教师信息进行排

22、课形成授课表,教师根据授课表进行授课并给出息进行排课形成授课表,教师根据授课表进行授课并给出课程成绩。系统功能描述如下:课程成绩。系统功能描述如下:(1 1)学生信息管理功能。)学生信息管理功能。添加学生:学生输入自己的信息到学生表。添加学生:学生输入自己的信息到学生表。删除学生:当学生毕业后,从学生表中删除学生信息。删除学生:当学生毕业后,从学生表中删除学生信息。20(2 2)学生成绩管理功能。)学生成绩管理功能。成绩录入:教师输入学生本课程的成绩。成绩录入:教师输入学生本课程的成绩。成绩查询:学生能够查询所选课程的成绩。成绩查询:学生能够查询所选课程的成绩。(3 3)课程信息管理功能。)课

23、程信息管理功能。课程信息录入:管理员每学期输入本部门开设的课程。课程信息录入:管理员每学期输入本部门开设的课程。选课功能:学生能够选择本学期的课程。选课功能:学生能够选择本学期的课程。排课功能:根据学生的选课信息和教师信息进行排课形成排课功能:根据学生的选课信息和教师信息进行排课形成授课表。授课表。(4 4)教师管理功能。)教师管理功能。添加教师:教师输入自己的信息到教师表。添加教师:教师输入自己的信息到教师表。删除教师:当教师离职或退休后,从教师表中删除教师信删除教师:当教师离职或退休后,从教师表中删除教师信息。息。21u 2 2需求分析需求分析本系统功能比较简单,我们采用从上到下的分析方法

24、:本系统功能比较简单,我们采用从上到下的分析方法:(1 1)确定系统的输入、输出。)确定系统的输入、输出。参照系统功能资料的收集,可得到系统的输入信息如下:参照系统功能资料的收集,可得到系统的输入信息如下: 学生基本信息,包括学号、姓名、性别、年龄、籍贯和部门代号。学生基本信息,包括学号、姓名、性别、年龄、籍贯和部门代号。 教师基本信息,包括教师号、姓名、性别、年龄、职称和部门代号。教师基本信息,包括教师号、姓名、性别、年龄、职称和部门代号。 成绩信息,学生选修课程的成绩。成绩信息,学生选修课程的成绩。 部门信息,包括部门号和部门名称。部门信息,包括部门号和部门名称。 课程信息,包括课程号、课

25、程名称、课时、开课学期和课程性质。课程信息,包括课程号、课程名称、课时、开课学期和课程性质。系统的输出信息为:系统的输出信息为: 学生基本信息,包括学号、姓名、性别、年龄、籍贯和部门代号。学生基本信息,包括学号、姓名、性别、年龄、籍贯和部门代号。 教师基本信息,包括教师号、姓名、性别、年龄、职称和部门代号。教师基本信息,包括教师号、姓名、性别、年龄、职称和部门代号。 成绩信息,包括学号、课程号、成绩。成绩信息,包括学号、课程号、成绩。 授课信息,包括课程号、教师号。授课信息,包括课程号、教师号。22(2 2)由外向里绘制系统的顶层数据流图。)由外向里绘制系统的顶层数据流图。 根据系统的输入、输

26、出可确定系统的顶层数据流图,如图根据系统的输入、输出可确定系统的顶层数据流图,如图5-55-5所示。所示。 系统中包含的数据项、数据结构、数据流、数据存储、处理系统中包含的数据项、数据结构、数据流、数据存储、处理过程等较多,为了节省篇幅,下面只选取部分重要的内容进行描过程等较多,为了节省篇幅,下面只选取部分重要的内容进行描述。述。23 “学号学号”数据项的描述如下:数据项的描述如下:数据项:学号;数据项:学号;含义说明:唯一标识每个学生;含义说明:唯一标识每个学生;别名:学生编号;别名:学生编号;类型:字符型;类型:字符型;长度:长度:8 8;取值范围:取值范围:000000000000000

27、09999999999999999;取值含义:前两位标别该学生所在年级,后六位按顺序编号。取值含义:前两位标别该学生所在年级,后六位按顺序编号。 “学生学生”是该系统中的一个核心数据结构,其描述如下:是该系统中的一个核心数据结构,其描述如下:数据结构:学生;数据结构:学生;含义说明:是系统的主体数据结构,定义了一个学生的有关信息;含义说明:是系统的主体数据结构,定义了一个学生的有关信息;组成:学号、姓名、性别、年龄、籍贯和部门代号。组成:学号、姓名、性别、年龄、籍贯和部门代号。 “成绩信息成绩信息”数据流的描述如下:数据流的描述如下:数据流:成绩信息;数据流:成绩信息;说明:学生查询的成绩;说

28、明:学生查询的成绩;数据流来源:选课表;数据流来源:选课表;数据流去向:学生;数据流去向:学生;组成:学号、课程号、成绩。组成:学号、课程号、成绩。24(3 3)自顶向下逐层分解,绘出分层数据流图。)自顶向下逐层分解,绘出分层数据流图。采用自顶向下逐层分解的方法,即用分层的方法将一个数采用自顶向下逐层分解的方法,即用分层的方法将一个数据流图分解成几个数据流图来分别表示。本系统的第一层据流图分解成几个数据流图来分别表示。本系统的第一层数据流图如图数据流图如图5-65-6所示,对所示,对“成绩录入成绩录入”的细化的下层的细化的下层DFDDFD图如图图如图5-75-7所示。所示。图图5-6 5-6

29、教学管理系统第一层数据流图教学管理系统第一层数据流图图图5-7 5-7 教学管理系统教学管理系统“成绩录入成绩录入”的细化数据流图的细化数据流图25教学管理系统第一层数据流图教学管理系统第一层数据流图26教学管理系统顶层数据流图教学管理系统顶层数据流图27本层数据字典举例如下。本层数据字典举例如下。 “学生信息表学生信息表”存储结构的描述如下:存储结构的描述如下:数据存储:学生信息表;数据存储:学生信息表;说明:记录学生的基本情况;说明:记录学生的基本情况;组成:参见学生数据结构;组成:参见学生数据结构;组织方式:索引文件,以学号为关键;组织方式:索引文件,以学号为关键;数据量:每年数据量:每

30、年3000张;张;存取方式:随机存取。存取方式:随机存取。 “排课排课”处理过程的描述如下:处理过程的描述如下:编号:编号:5;处理过程:排课;处理过程:排课;说明:为所有选修课程的学生分配教师;说明:为所有选修课程的学生分配教师;输入:选课表、教师表;输入:选课表、教师表;输出:授课表;输出:授课表;处理:学生选修课程后,为每门课程安排授课教师。要求每个部门的课程由本学处理:学生选修课程后,为每门课程安排授课教师。要求每个部门的课程由本学院教师任课,每位教师拟任课学生不允许超过院教师任课,每位教师拟任课学生不允许超过100人。人。285.3 5.3 概念结构设计概念结构设计v概念结构概念结构

31、 能真实反映能真实反映现实世界现实世界的模型的模型 各种各种数据模型数据模型的基础的基础 易于修改和扩充易于修改和扩充 简单、清晰、用户易于理解简单、清晰、用户易于理解 设计人员和用户交流的工具设计人员和用户交流的工具 独立于机器独立于机器返回目录返回目录295.3.15.3.1概念结构设计的定义概念结构设计的定义 概念结构设计是把需求分析阶段得到的用户需求(已用概念结构设计是把需求分析阶段得到的用户需求(已用数据字典和数据流图表示)抽象为概念模型表示的过程。概数据字典和数据流图表示)抽象为概念模型表示的过程。概念数据模型既独立于数据库逻辑结构,又独立于具体的数据念数据模型既独立于数据库逻辑结

32、构,又独立于具体的数据库管理系统(库管理系统(DBMSDBMS),是现实世界与机器世界的中介。),是现实世界与机器世界的中介。u1 1概念结构设计的任务概念结构设计的任务 概念结构设计的任务是在需求规格说明书的基础上,概念结构设计的任务是在需求规格说明书的基础上,按按照特定的方法把它们抽象为一个不依赖于任何具体机器的数照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。据模型,即概念模型。概念模型设计集中在最重要信息的组概念模型设计集中在最重要信息的组织结构和处理模式上。数据库概念结构设计的织结构和处理模式上。数据库概念结构设计的目的目的是分析数是分析数据字典中数据间内在的

33、语义关联,并将其抽象表示为数据的据字典中数据间内在的语义关联,并将其抽象表示为数据的概念模式。目前,数据库概念结构设计常用概念模式。目前,数据库概念结构设计常用E-RE-R模型来描述,模型来描述,因此,又称为因此,又称为E-RE-R模式设计。模式设计。30u2 2概念结构设计的必要性概念结构设计的必要性 需求分析阶段描述的用户需求只是现实世界的具体要求,需求分析阶段描述的用户需求只是现实世界的具体要求,只有把这些需求抽象为信息世界的结构,才能更好地实现只有把这些需求抽象为信息世界的结构,才能更好地实现用户的需求。概念结构设计就是将用户需求抽象为信息结用户的需求。概念结构设计就是将用户需求抽象为

34、信息结构,即概念模型。构,即概念模型。设计概念模型的过程称为概念设计。概念模型在数据库的设计概念模型的过程称为概念设计。概念模型在数据库的各级模型中的地位如图各级模型中的地位如图5-85-8所示。所示。 综 合 应 用 2 应 用 1 映 像 应 用 n 概 念 模 型 应 用 要 求 应 用 要 求 应 用 要 求 外 模 式 1 外 模 式 2 外 模 式 n 物 理 模 式 映 像 31 基于基于E-RE-R模型的数据库设计方法在需求分析和逻辑设计之间增加了一个概念设计模型的数据库设计方法在需求分析和逻辑设计之间增加了一个概念设计阶段。在该阶段,设计人员仅从用户角度看待数据及处理要求和约

35、束,产生一个反阶段。在该阶段,设计人员仅从用户角度看待数据及处理要求和约束,产生一个反映用户观点的概念模型,然后再把概念模型转换成逻辑模型。优点:映用户观点的概念模型,然后再把概念模型转换成逻辑模型。优点:(1 1)从逻辑设计中分离出概念设计以后,各阶段的任务相对单一化,设计复杂程度)从逻辑设计中分离出概念设计以后,各阶段的任务相对单一化,设计复杂程度大大降低,便于组织管理。大大降低,便于组织管理。(2 2)概念模型不受特定的)概念模型不受特定的DBMSDBMS的限制,也独立于存储安排和效率方面的考虑,因而的限制,也独立于存储安排和效率方面的考虑,因而比逻辑模型更为稳定。比逻辑模型更为稳定。(

36、3 3)概念模型不含具体的)概念模型不含具体的DBMSDBMS所附加的技术细节,更容易为用户所理解,因而能准所附加的技术细节,更容易为用户所理解,因而能准确反映用户的信息需求。确反映用户的信息需求。3 3概念结构设计的特点概念结构设计的特点 概念结构是各种数据模型的共同基础,比数据模型更独立于机器、更抽象,从概念结构是各种数据模型的共同基础,比数据模型更独立于机器、更抽象,从而更加稳定,其主要特点有以下几点。而更加稳定,其主要特点有以下几点。(1 1)概念模型是现实世界的一个真实模型,能真实、充分地反映现实世界,包括事)概念模型是现实世界的一个真实模型,能真实、充分地反映现实世界,包括事物和事

37、物之间的联系,能满足用户对数据的处理要求。物和事物之间的联系,能满足用户对数据的处理要求。(2 2)易于理解,可以用概念模型和不熟悉计算机的用户交换意见。)易于理解,可以用概念模型和不熟悉计算机的用户交换意见。(3 3)易于更改,当应用环境和要求发生变化时,容易对概念模型进行修改和扩充。)易于更改,当应用环境和要求发生变化时,容易对概念模型进行修改和扩充。(4 4)易于向关系、网状、层次等各种数据模型转换。)易于向关系、网状、层次等各种数据模型转换。32 概念结构设计的方法概念结构设计的方法 自顶向下自顶向下 自底向上自底向上 逐步扩张逐步扩张 混合策略混合策略 局部局部E-RE-R模型模型

38、全局全局E-RE-R模型模型 抽象抽象 集成集成 5.3.25.3.2概念设计的方法与步骤概念设计的方法与步骤33概念结构设计的方法与步骤概念结构设计的方法与步骤需求分析逻辑结构设计合格不合格数据抽象(局部视图设计)视图集成与优化DFD、DD局部E-R图全局E-R图概念设计评审341 1概念结构设计的方法概念结构设计的方法概念结构设计的方法主要有概念结构设计的方法主要有4 4种。种。(1 1)自顶向下。)自顶向下。首先定义全局概念结构的首先定义全局概念结构的E-RE-R模型框架,然后逐步细化,如图模型框架,然后逐步细化,如图5-95-9(a a)所示。)所示。(2 2)自底向上。)自底向上。首

39、先定义各局部应用的概念结构,然后将它们集成起来,得到全局首先定义各局部应用的概念结构,然后将它们集成起来,得到全局E-RE-R概念结概念结构,如图构,如图5-95-9(b b)所示。)所示。(3 3)逐步扩张。)逐步扩张。首先定义最重要的核心首先定义最重要的核心E-RE-R概念结构,然后向外扩充,逐步生成其他概念结构,概念结构,然后向外扩充,逐步生成其他概念结构,直至完成全局概念结构,如图直至完成全局概念结构,如图5-95-9(c c)所示。)所示。(4 4)混合策略。)混合策略。即将自顶向下和自底向上的设计方法相结合,用自顶向下策略设计一个全局即将自顶向下和自底向上的设计方法相结合,用自顶向

40、下策略设计一个全局概念结构的框架,再由自底向上策略将框架集成各局部概念结构,直至得到概念结构的框架,再由自底向上策略将框架集成各局部概念结构,直至得到全局概念结构。该方法是最常采用的策略,即自顶向下进行需求分析,再自全局概念结构。该方法是最常采用的策略,即自顶向下进行需求分析,再自底向上设计概念结构,如图底向上设计概念结构,如图5-95-9(d d)所示。)所示。352 2概念结构设计的的步骤概念结构设计的的步骤自底向上的设计方法是最常见的概念结构设计方法,本方法自底向上的设计方法是最常见的概念结构设计方法,本方法可分为两步可分为两步(1 1)数据抽象。)数据抽象。对用户数据进行抽象,形成局部

41、对用户数据进行抽象,形成局部E-RE-R模型(即用户视图)。模型(即用户视图)。(2 2)视图集成。)视图集成。将各个局部视图进行集成优化,形成全局将各个局部视图进行集成优化,形成全局E-RE-R模型。模型。365.3.3 5.3.3 局部视图设计局部视图设计在计算机内部,数据有其特定的表示方法。人们研究和处在计算机内部,数据有其特定的表示方法。人们研究和处理数据的过程中,常常把数据的转换分为理数据的过程中,常常把数据的转换分为3 3个领域:现实个领域:现实世界、信息世界和机器世界,这世界、信息世界和机器世界,这3 3个世界间的转换过程,个世界间的转换过程,就是将客观现实的信息反映到计算机数据

42、库中的过程,具就是将客观现实的信息反映到计算机数据库中的过程,具体内容可参见体内容可参见1.31.3节。节。1 1信息模型(概念模型)与信息模型(概念模型)与E-RE-R方法方法将现实世界抽象为信息世界的过程,实际上是抽象出现实将现实世界抽象为信息世界的过程,实际上是抽象出现实世界中具有应用价值的元素及其关联的过程,这时所形成世界中具有应用价值的元素及其关联的过程,这时所形成的信息结构是概念模型。在抽象出概念模型后,再将其转的信息结构是概念模型。在抽象出概念模型后,再将其转换为计算机上特定换为计算机上特定DBMSDBMS支持的数据模型。支持的数据模型。E-RE-R图是抽象描述现实世界的有力工具

43、,它与计算机所支图是抽象描述现实世界的有力工具,它与计算机所支持的数据模型相独立,更接近于现实世界,可以很清晰地持的数据模型相独立,更接近于现实世界,可以很清晰地表示出其中的错综复杂关系。表示出其中的错综复杂关系。372 2局部视图设计局部视图设计局部局部E-RE-R图的设计步骤主要有以下两步:图的设计步骤主要有以下两步:(1 1)选择局部应用。)选择局部应用。设计局部设计局部E-RE-R图的第一步,就是要根据系统的具体情况,在多层数据流图中选择一个图的第一步,就是要根据系统的具体情况,在多层数据流图中选择一个适当层次的数据流图(这组图中每一部分对应一个局部应用),并以该层数据流图为适当层次的

44、数据流图(这组图中每一部分对应一个局部应用),并以该层数据流图为出发点,设计局部出发点,设计局部E-RE-R图。图。(2 2)逐一设计局部)逐一设计局部E-RE-R图。图。每个局部应用都对应了一组数据流图,局部应用涉及的数据也都已经收集在数据字典每个局部应用都对应了一组数据流图,局部应用涉及的数据也都已经收集在数据字典中。现在就是要将这些数据从数据字典中抽取出来,参照数据流图,标定局部应用中中。现在就是要将这些数据从数据字典中抽取出来,参照数据流图,标定局部应用中的实体、实体属性、标识码,确定实体之间的联系及其类型。的实体、实体属性、标识码,确定实体之间的联系及其类型。数据抽象后得到了实体和属

45、性。数据抽象后得到了实体和属性。实际上实体与属性是相对而言的,没有明显的界限。实际上实体与属性是相对而言的,没有明显的界限。同一事物,在一种应用环境中为属性,在另一种应用环境中可能为实体。同一事物,在一种应用环境中为属性,在另一种应用环境中可能为实体。一般说来,一般说来,在给定的应用环境中:在给定的应用环境中: 属性不能再具有需要描述的性质,即属性必须是不可分的数据项。属性不能再具有需要描述的性质,即属性必须是不可分的数据项。 属性不能与其他实体具有联系,即联系只发生在实体之间。属性不能与其他实体具有联系,即联系只发生在实体之间。例如,教师的职称为教师实体的属性,但在系统中,如果教师的津贴与教

46、师的职称相例如,教师的职称为教师实体的属性,但在系统中,如果教师的津贴与教师的职称相关(教师的津贴由职称决定),则应该采用原则,职称作为实体。关(教师的津贴由职称决定),则应该采用原则,职称作为实体。由此看来由此看来,同一,同一数据项由于环境和应用要求不同,有时作为属性,有时作为实体。一般情况下,能作数据项由于环境和应用要求不同,有时作为属性,有时作为实体。一般情况下,能作为属性对待的数据项尽量作为属性,以简化为属性对待的数据项尽量作为属性,以简化E-RE-R图的处理。图的处理。38下面我们从下面我们从5.2.45.2.4节中的数据流图中抽取两个最主要的局节中的数据流图中抽取两个最主要的局部应

47、用来说明局部部应用来说明局部E-RE-R模型的设计。模型的设计。(1 1)学生选修课程。)学生选修课程。学生选修课程的描述如下:学生选修课程的描述如下: 学生可以选修多门课程,一门课程也可由多个学生选学生可以选修多门课程,一门课程也可由多个学生选修,因此学生和课程间是多对多关系;修,因此学生和课程间是多对多关系; 一个部门有很多学生,即部门与学生是一对多关系;一个部门有很多学生,即部门与学生是一对多关系; 任何一个部门都可以开设多门课程,所以部门与课程任何一个部门都可以开设多门课程,所以部门与课程之间是一对多关系。之间是一对多关系。综上所述,可以得到如图综上所述,可以得到如图5-115-11所

48、示的学生选修课程的局部所示的学生选修课程的局部E-RE-R图。图。39学生选修课程的局部学生选修课程的局部E-RE-R图图 40(2 2)教师任课。)教师任课。教师任课的描述如下:教师任课的描述如下: 教师可以讲授多门课程,一门课程也可由多个教师讲教师可以讲授多门课程,一门课程也可由多个教师讲授,因此教师和课程间是多对多关系;授,因此教师和课程间是多对多关系; 一个学院有很多教师,即学院与教师是一对多关系;一个学院有很多教师,即学院与教师是一对多关系; 任何一个学院都可以排课(为学生选修的课程安排教任何一个学院都可以排课(为学生选修的课程安排教师)。师)。综上所述,可以得到如图综上所述,可以得

49、到如图5-125-12所示的教师任课的局部所示的教师任课的局部E-RE-R图。图。41教师任课的局部教师任课的局部E-RE-R图图425.3.4 5.3.4 集成全局视图集成全局视图各个局部各个局部E-RE-R模型设计完成后,要将其集成,形成全局视图。模型设计完成后,要将其集成,形成全局视图。集成局部集成局部E-RE-R图需要两步。图需要两步。1 1合并局部合并局部E-RE-R图,生成初步图,生成初步E-RE-R图图在复杂系统中,各个局部在复杂系统中,各个局部E-RE-R模型通常由不同人员设计,因此模型通常由不同人员设计,因此会不可避免地出现不一致的地方,我们称之为会不可避免地出现不一致的地方

50、,我们称之为冲突冲突。全局概。全局概念的念的E-RE-R模型必须是一个完整的、一致的数据库概念结构,所模型必须是一个完整的、一致的数据库概念结构,所以以合并局部合并局部E-RE-R模型成全局概念模型主要解决的是消除局部模型成全局概念模型主要解决的是消除局部E-E-R R模型中的各种冲突模型中的各种冲突。各局部。各局部E-RE-R图之间的冲突主要有图之间的冲突主要有3 3类:属类:属性冲突、命名冲突和结构冲突。性冲突、命名冲突和结构冲突。(1 1)属性冲突。)属性冲突。属性冲突包括:属性冲突包括: 属性域冲突,即属性值的类型、取值范围或取值集合不同。属性域冲突,即属性值的类型、取值范围或取值集合

51、不同。 属性取值单位冲突。属性取值单位冲突。43(2 2)命名冲突。)命名冲突。 同名异义。同一名字的对象在不同的局部表示不同的意义,比如日常生活同名异义。同一名字的对象在不同的局部表示不同的意义,比如日常生活中的名词中的名词“单位单位”,有时看作人员工作的部门,有时看作重量或长度的属性,有时看作人员工作的部门,有时看作重量或长度的属性(单位)。(单位)。 异名同义。一个意义相同的对象在不同局部具有不同名称,例如教师实体异名同义。一个意义相同的对象在不同局部具有不同名称,例如教师实体中的中的“单位单位”属性和学生实体中的属性和学生实体中的“学院学院”属性,都表示所在属性,都表示所在“部门部门”

52、的意的意义。义。(3 3)结构冲突。)结构冲突。 同一对象在不同应用中具有不同的抽象。例如同一对象在不同应用中具有不同的抽象。例如“课程课程”在某一局部应用中在某一局部应用中被当作实体,而在另一局部应用中则被当作属性。被当作实体,而在另一局部应用中则被当作属性。 同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同。序不完全相同。 实体之间的联系在不同局部视图中呈现不同的类型。例如实体实体之间的联系在不同局部视图中呈现不同的类型。例如实体E1E1与与E2E2在局在局部应用部应用A A中是多对多联系,而在局部

53、应用中是多对多联系,而在局部应用B B中是一对多联系;又如在局部应用中是一对多联系;又如在局部应用X X中,中,E1E1与与E2E2发生联系,而在局部应用发生联系,而在局部应用Y Y中,中,E1E1、E2E2、E3E3三者之间有联系。三者之间有联系。44在具体的实际应用中,解决冲突可以考虑以下几在具体的实际应用中,解决冲突可以考虑以下几种方法:种方法:(1 1)对同一个实体的属性取各个局部)对同一个实体的属性取各个局部E-RE-R图相同图相同实体属性的并集。实体属性的并集。(2 2)根据综合应用的需要,把属性转变为实体,)根据综合应用的需要,把属性转变为实体,或者把实体转变为属性。或者把实体转

54、变为属性。(3 3)根据应用语义对实体联系进行综合调整。)根据应用语义对实体联系进行综合调整。现将现将5.3.35.3.3节的两个局部节的两个局部E-RE-R图合并为初步图合并为初步E-RE-R图,图,如图如图5-135-13所示。所示。45并后形成的初步并后形成的初步E-RE-R图图462 2修改与重构,生成基本修改与重构,生成基本E-RE-R图图将局部将局部E-RE-R图合并生成的是初步图合并生成的是初步E-RE-R图,之所以称其为初步图,之所以称其为初步E-RE-R图,是因为图,是因为其中可能存在冗余的数据和实体间联系,即存在可由基本数据导出的数其中可能存在冗余的数据和实体间联系,即存在

55、可由基本数据导出的数据和可由其他联系导出的联系。冗余数据和冗余联系容易破坏数据库的据和可由其他联系导出的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难,因此得到初步完整性,给数据库维护增加困难,因此得到初步E-RE-R图后,还应进一步检图后,还应进一步检查图中是否存在冗余,如果存在,则一般应设法予以消除。现在假设学查图中是否存在冗余,如果存在,则一般应设法予以消除。现在假设学生实体为生实体为 学号学号,姓名,出生日期,所在系,出生日期,年级,平均成,姓名,出生日期,所在系,出生日期,年级,平均成绩绩 ,通过对该实体数据字典的分析可知,通过对该实体数据字典的分析可知,“年龄

56、年龄”可以由可以由“出生日期出生日期”计算出来,计算出来,“平均成绩平均成绩”也可以由学生的也可以由学生的“成绩成绩”计算得到,所以计算得到,所以“年年龄龄”和和“平均成绩平均成绩”为冗余信息。为冗余信息。修改、重构初步修改、重构初步E-RE-R图主要采用分析方法。数据字典是进行分析冗余信息图主要采用分析方法。数据字典是进行分析冗余信息的依据,通过研究数据流图分析冗余的联系。当然除分析方法外,还可的依据,通过研究数据流图分析冗余的联系。当然除分析方法外,还可以用规范化理论来消除冗余。以用规范化理论来消除冗余。47研究图研究图5-135-13所示初步所示初步E-RE-R图发现,图发现,“学院学院

57、”和和“课课程程”的开设关系,以及的开设关系,以及“教师教师”与与“课程课程”的的“授课授课”关系,都可以由关系,都可以由“学院学院”、“课程课程”和和“教师教师”间的排课关系推导出来,所以这两种关间的排课关系推导出来,所以这两种关系也是冗余关系。消除冗余关系而得到的系也是冗余关系。消除冗余关系而得到的E-RE-R图叫图叫做基本做基本E-RE-R图,如图图,如图5-145-14所示。所示。48消除冗余关系得到基本消除冗余关系得到基本E-RE-R图图49视图集成后形成一个整体的数据库概念结构,对该概念结视图集成后形成一个整体的数据库概念结构,对该概念结构还必须进一步验证,确保它满足下列条件:构还

58、必须进一步验证,确保它满足下列条件:(1 1)整体概念结构内部必须具有一致性,即不能存在互)整体概念结构内部必须具有一致性,即不能存在互相矛盾的表达。相矛盾的表达。(2 2)整体概念结构能准确地反映原来的每个视图结构,)整体概念结构能准确地反映原来的每个视图结构,包括属性、实体及实体间的联系。包括属性、实体及实体间的联系。(3 3)整体概念结构能满足需求分析阶段所确定的所有要)整体概念结构能满足需求分析阶段所确定的所有要求。求。整体概念结构最终还应该提交给用户,征求用户和有关人整体概念结构最终还应该提交给用户,征求用户和有关人员的意见,进行评审、修改和优化,然后确定下来,形成员的意见,进行评审

59、、修改和优化,然后确定下来,形成进一步设计数据库的依据。进一步设计数据库的依据。505.4 5.4 逻辑结构设计逻辑结构设计v逻辑结构设计逻辑结构设计 概念结构设计的结果概念结构设计的结果转换成具体数转换成具体数据模型所允许的据模型所允许的结构结构 逻辑结构设计准则逻辑结构设计准则 全局视图全局视图关系模型关系模型 数据模型的优化数据模型的优化返回目录返回目录515.4.15.4.1逻辑结构设计的任务和步骤逻辑结构设计的任务和步骤v概念模型转化为一般的数据模型概念模型转化为一般的数据模型v一般的数据模型向特定的一般的数据模型向特定的DBMSDBMS所支持的数据模型转所支持的数据模型转换换v对数

60、据模型进行优化,产生全局逻辑结构,并设计对数据模型进行优化,产生全局逻辑结构,并设计出外部模式出外部模式概念模型概念模型基本基本E-R图图一般数据模型一般数据模型关系、网状、层次关系、网状、层次特定特定DBMS的数据模型的数据模型优化的优化的数据模型数据模型转换规则转换规则DBMS的的特 点 和 限特 点 和 限制制 优化方法优化方法52v实体型转换成关系模式实体型转换成关系模式 实体的属性即为关系模式的属性,实体的码即实体的属性即为关系模式的属性,实体的码即为关系模式的码为关系模式的码联系为联系为1 1:n n,可以与,可以与n n端对应的关系模式合并;也可端对应的关系模式合并;也可以转换为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论