《第4章数据库设计》由会员分享,可在线阅读,更多相关《第4章数据库设计(50页珍藏版)》请在金锄头文库上搜索。
1、第第4章章 数据库设计数据库设计 本章主要内容本章主要内容需求分析需求分析 数据库设计概述数据库设计概述 概念模型设计(概念模型设计(E-R图设计)图设计) 数据库物理设计数据库物理设计 逻辑模式设计逻辑模式设计 数据库的实施数据库的实施 数据库的运行与维护数据库的运行与维护 编写技术文档编写技术文档 4.1 4.1 数据库设计概述数据库设计概述 数据库设计是指对于一个给定的应用环境,构造最优的数数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足用户的应用需求(信息需求和处理需求
2、)。据,满足用户的应用需求(信息需求和处理需求)。数据库设计质量的优劣,不仅仅直接影响到当前的应用,数据库设计质量的优劣,不仅仅直接影响到当前的应用,还影响到数据库应用过程中的维护,从而也影响到数据库的生还影响到数据库应用过程中的维护,从而也影响到数据库的生命周期。因此,人们一直在探索有效的数据库设计方法。命周期。因此,人们一直在探索有效的数据库设计方法。手工试凑法手工试凑法 采用手工试凑法进行数据库设计的设计质量与设计人员采用手工试凑法进行数据库设计的设计质量与设计人员的经验和水平直接相关,设计质量难以得到保障。的经验和水平直接相关,设计质量难以得到保障。 把软件工程的思想和方法应用于数据库
3、设计,根据数据库把软件工程的思想和方法应用于数据库设计,根据数据库设计的特点,提出了多种数据库设计方法,并提出了多种数据设计的特点,提出了多种数据库设计方法,并提出了多种数据库设计的准则和规程,这些方法统称为规范化设计方法。库设计的准则和规程,这些方法统称为规范化设计方法。规范化设计方法规范化设计方法 目前最常用的数据库设计方法有新奥尔良方法、目前最常用的数据库设计方法有新奥尔良方法、S.B.YaoS.B.Yao方法、方法、I.R.PalmerI.R.Palmer方法、方法、数据库生命周期法数据库生命周期法等。等。新奥尔良方法新奥尔良方法 新奥尔良方法把数据库设计分为需求分析(分析用户需求)、
4、概念新奥尔良方法把数据库设计分为需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)四个阶段。据库设计)四个阶段。 S.B.Yao方法将数据库设计分为需求分析、模式构成、模式汇总、方法将数据库设计分为需求分析、模式构成、模式汇总、模式重构、模式分析和物理数据库设计六个步骤。模式重构、模式分析和物理数据库设计六个步骤。 S.B.YaoS.B.Yao方法方法 I.R.PalmerI.R.Palmer方法方法 I.R.Palmer方法主张把数据库设计当成一步接一步的过程,并采用方法主张把数
5、据库设计当成一步接一步的过程,并采用一些辅助手段实现每一过程。一些辅助手段实现每一过程。 数据库生命周期法数据库生命周期法 根据数据库的生命周期,把数据库设计分成六个阶段:需求分析、根据数据库的生命周期,把数据库设计分成六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库的概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库的运行与维护六个阶段。运行与维护六个阶段。目前数据库设计一般都采用该方法。目前数据库设计一般都采用该方法。第第4章章 数据库设计数据库设计 数数据据库库管管理理系系统统是是数数据据库库系系统统的的核核心心, 是是用于建立、用于建立、 使用
6、和维护数据库的一组软件。使用和维护数据库的一组软件。 一一般般情情况况下下, 数数据据库库管管理理系系统统建建立立在在操操作作系系统统的的基基础础上上, 是是位位于于操操作作系系统统与与用用户户之之间间的的一一层层数数据据管管理理软软件件,负负责责对对数数据据库库进行统一的管理和控制。进行统一的管理和控制。 数数据据库库管管理理系系统统不不仅仅承承担担执执行行各各种种应应用用程程序序对对数数据据库库中中的的数数据据的的操操作作命命令令, 还还要要承承担担数数据据库库的的维维护护工工作作, 以以保保证数据库的安全性和完整性。证数据库的安全性和完整性。 目前流行的数据库管理系统目前流行的数据库管理
7、系统绝大多数是关系型数据库管理系统绝大多数是关系型数据库管理系统,一般可分为如下三类:一般可分为如下三类: 1 1、以、以PCPC机、微型机系统为运行环境的数据库管理系统。机、微型机系统为运行环境的数据库管理系统。 如如xBASExBASE类的产品类的产品dBASEdBASE、FoxBASEFoxBASE、FoxProFoxPro等,由于这类系统主要作等,由于这类系统主要作为支持一般事务处理需要的数据库环境,强调使用的方便性和操作的简为支持一般事务处理需要的数据库环境,强调使用的方便性和操作的简便性,所以有人称之为桌面型数据库管理系统。便性,所以有人称之为桌面型数据库管理系统。 2 2、以、以
8、OracleOracle为代表的数据库管理系统,这类系统还有为代表的数据库管理系统,这类系统还有IBMDB2IBMDB2、SYBASESYBASE等。等。 这些系统更强调系统在理论上和实践上的完备性,具有巨大的数据这些系统更强调系统在理论上和实践上的完备性,具有巨大的数据存储和管理能力,存储和管理能力,提供了比桌面型系统更全面的数据保护和恢复功能,提供了比桌面型系统更全面的数据保护和恢复功能,它更有利于支持全局性的及关键性的数据管理工作,所以也被称为主流它更有利于支持全局性的及关键性的数据管理工作,所以也被称为主流数据库管理系统。数据库管理系统。 3 3、以、以Microsoft SQL Se
9、rverMicrosoft SQL Server为代表的界于以上两类之间的数据库为代表的界于以上两类之间的数据库管理系统。管理系统。 对对一一般般的的用用户户来来说说,数数据据库库管管理理系系统统(DBMS)(DBMS)已已经经随随机机器器配配置置,不不需需要要自自行行设设计计。所所谓谓应应用用系系统统的的设设计计,实实际际上上就就是是“数据库数据库 + + 应用程序应用程序”的设计。的设计。 数据库设计包括结构特性和行为特性设计两方面的内容。数据库设计包括结构特性和行为特性设计两方面的内容。 结构特性设计是指确定数据库的数据模型。结构特性设计是指确定数据库的数据模型。 数数据据模模型型反反映
10、映了了现现实实世世界界的的数数据据及及数数据据间间的的联联系系,要要求求在满足应用需求的前提下,尽可能减少冗余,实现数据共享。在满足应用需求的前提下,尽可能减少冗余,实现数据共享。 行行为为特特性性设设计计是是指指确确定定数数据据库库应应用用的的行行为为和和动动作作,应应用用的行为体现在应用程序中。的行为体现在应用程序中。 行为特性的设计主要是应用程序的设计。行为特性的设计主要是应用程序的设计。图示图示 数据库设计步骤数据库设计步骤第第4章章 数据库设计数据库设计 图示图示 数据库设计过程数据库设计过程 4.1.1 4.1.1 数据库设计的目标数据库设计的目标 1目标目标 从用户对数据的需求出
11、发,从用户对数据的需求出发,创建一个性能良好的、能满足不创建一个性能良好的、能满足不同用户需求的、又能被选定的同用户需求的、又能被选定的DBMSDBMS所接受的数据库模式。所接受的数据库模式。具体具体地说,数据库设计有两个最重要的目标:满足应用功能需求和良好的地说,数据库设计有两个最重要的目标:满足应用功能需求和良好的数据库性能。数据库性能。2满足应用功能需求满足应用功能需求 3良好的数据库性能良好的数据库性能 指把用户当前应用以及可预知的将来应用所需要的数据及其联系指把用户当前应用以及可预知的将来应用所需要的数据及其联系能全部准确地存放于数据库之中,并能根据用户的需要对数据进行规能全部准确地
12、存放于数据库之中,并能根据用户的需要对数据进行规定的合理的增、删、改、查询等操作。定的合理的增、删、改、查询等操作。 指数据库应具有良好的存储结构、良好的数据共享性、良好的数指数据库应具有良好的存储结构、良好的数据共享性、良好的数据完整性、良好的数据一致性及良好的安全保密性能等。据完整性、良好的数据一致性及良好的安全保密性能等。4.1.2 4.1.2 数据库设计的内容数据库设计的内容 1数据库的结构特性设计数据库的结构特性设计 数据库的结构特性设计是确定数据库的框架和数据结构(逻辑结构数据库的结构特性设计是确定数据库的框架和数据结构(逻辑结构特征)。它是汇总各用户视图产生的全局逻辑结构。它反映
13、了现实世界特征)。它是汇总各用户视图产生的全局逻辑结构。它反映了现实世界及其联系,具有最小的数据冗余,能实现数据共享。结构特性是静态的,及其联系,具有最小的数据冗余,能实现数据共享。结构特性是静态的,一旦形成一般不会轻易改动,因此又称为静态结构设计。一旦形成一般不会轻易改动,因此又称为静态结构设计。2数据库的行为特性设计数据库的行为特性设计 3数据库的物理模式设计数据库的物理模式设计 数据库的行为特性设计是指确定数据库用户的行为和动作,并根据数据库的行为特性设计是指确定数据库用户的行为和动作,并根据其行为特性设计出数据库的子模式。在数据库系统中,数据库的行为和其行为特性设计出数据库的子模式。在
14、数据库系统中,数据库的行为和动作反映在数据库应用程序中,包括记录的添加、删除与修改、数据库动作反映在数据库应用程序中,包括记录的添加、删除与修改、数据库的查询和统计、事务处理及报表处理等。因而设计数据库的行为特性要的查询和统计、事务处理及报表处理等。因而设计数据库的行为特性要与应用系统的设计结合进行。由于用户的行为特性是动态的,所以数据与应用系统的设计结合进行。由于用户的行为特性是动态的,所以数据库的行为特性也称为数据库的动态特性设计。库的行为特性也称为数据库的动态特性设计。 根据数据库结构的动态特性,在特定的根据数据库结构的动态特性,在特定的DBMS环境下,把数据库环境下,把数据库的逻辑结构
15、模型加以物理实现,从而得出数据库的存储模式和存取方的逻辑结构模型加以物理实现,从而得出数据库的存储模式和存取方法。法。第第4章章 数据库设计数据库设计 4.1.3 4.1.3 数据库设计的特点数据库设计的特点 ()完善性。()完善性。数据库在设计时就不完善,那么基于该数据库的应用系数据库在设计时就不完善,那么基于该数据库的应用系统同样也会不完善,甚至还会因为在数据库设计阶段中的隐患,而在使统同样也会不完善,甚至还会因为在数据库设计阶段中的隐患,而在使用中造成极大的损失。用中造成极大的损失。 ()试探性和反复性()试探性和反复性 。由于数据库结构特性和行为特性的设计是分离由于数据库结构特性和行为
16、特性的设计是分离的,决定了数据库设计是一种的,决定了数据库设计是一种“反复探寻,逐步求精反复探寻,逐步求精”的过程。为实现的过程。为实现用户的目标,结构特征必须良好,但结构特性是体现在模式和子模式的用户的目标,结构特征必须良好,但结构特性是体现在模式和子模式的定义中。而用户的行为特征是体现在应用程序中的,从而导致程序和数定义中。而用户的行为特征是体现在应用程序中的,从而导致程序和数据不易结合,因此数据库的最佳设计不可能一蹴而就,只能是一个反复据不易结合,因此数据库的最佳设计不可能一蹴而就,只能是一个反复探寻的过程。探寻的过程。 ()团结协作性。()团结协作性。需要用户积极参与,需要不同岗位的人
17、员相互合作、需要用户积极参与,需要不同岗位的人员相互合作、相互交流,才能最终设计出一个让用户满意的系统。相互交流,才能最终设计出一个让用户满意的系统。 4.2 4.2 需求分析需求分析重要性重要性 数据库的性能是由用户决定的,所以彻底弄清用户数据库的性能是由用户决定的,所以彻底弄清用户需求,是数据库设计任务能否顺利完成的关键。需求,是数据库设计任务能否顺利完成的关键。第一步:分析用户活动,产生第一步:分析用户活动,产生“用户活动图用户活动图”。 实施步骤实施步骤 第二步:确定系统范围,产生第二步:确定系统范围,产生“系统范围图系统范围图”。 第三步:分析用户活动所涉及到的数据,产生第三步:分析
18、用户活动所涉及到的数据,产生“数据流图数据流图”。 第四步:分析系统数据,产生第四步:分析系统数据,产生数据字典数据字典 。 第第4章章 数据库设计数据库设计 【例例4-1】某院校信息管理系统要完成以下基本功能:某院校信息管理系统要完成以下基本功能: (1)办工作证(新教师到校后需办理工作证)办工作证(新教师到校后需办理工作证) (2)办学生证(新学生到校报到时需办理学生证)办学生证(新学生到校报到时需办理学生证) (3)安排课表(根据教学计划排定课表,涉及到教师、教室、)安排课表(根据教学计划排定课表,涉及到教师、教室、 课程、班级等对象)课程、班级等对象) (4)授课查询(根据教师名能够查
19、询到该教师的授课情况)授课查询(根据教师名能够查询到该教师的授课情况) (5)成绩查询(根据学号能够查询到该学生的课程成绩)成绩查询(根据学号能够查询到该学生的课程成绩) (6)工资查询(根据教师名能够查询到该教师的工资信息)工资查询(根据教师名能够查询到该教师的工资信息) 1.1.分析用户活动分析用户活动 从单位日常工作流程着手,可通过座谈会、与职员共同工作、从单位日常工作流程着手,可通过座谈会、与职员共同工作、设计调查问卷、查阅历史的业务记录等途径来搞清业务的处理流程。设计调查问卷、查阅历史的业务记录等途径来搞清业务的处理流程。2 2确定系统范围确定系统范围 不是所有的活动内容都适合计算机
20、处理,有些工作即使在计算机环境下不是所有的活动内容都适合计算机处理,有些工作即使在计算机环境下仍需人工处理。仍需人工处理。因此画出用户活动图后,还要确定属于系统的处理范围。因此画出用户活动图后,还要确定属于系统的处理范围。 3 3分析用户活动所涉及到的数据分析用户活动所涉及到的数据 关注的焦点是搞清用户活动图中所处理的数据,关注的焦点是搞清用户活动图中所处理的数据,并以并以“数据流图数据流图(DFDDFD)”的形式来表示出数据的流向和对数据所进行的加工。的形式来表示出数据的流向和对数据所进行的加工。 数据流图是描述企事业等机构的活动及来往于各处理活动之数据流图是描述企事业等机构的活动及来往于各
21、处理活动之间数据流动的有力工具,是一种从数据流的角度描述一个企事间数据流动的有力工具,是一种从数据流的角度描述一个企事业单位活动的图示,被广泛用于数据处理系统开发设计中。数业单位活动的图示,被广泛用于数据处理系统开发设计中。数据流程作为分析阶段重要的技术文档,作为今后验收系统的依据流程作为分析阶段重要的技术文档,作为今后验收系统的依据。据。 数据流图的组成数据流图的组成 数据流、加工、文件、源点与终点。数据流、加工、文件、源点与终点。数据流:数据流:表示流动着的数据,它可以是一项数据,也可以是一组数据表示流动着的数据,它可以是一项数据,也可以是一组数据(如通知单等),也可用来表示数据文件的存储
22、操作。数据流通常用箭头(如通知单等),也可用来表示数据文件的存储操作。数据流通常用箭头表示,在它的上方标明数据流的名称。表示,在它的上方标明数据流的名称。加工:加工:又称功能或处理。它用一个圆形来表示,圆形内部填写加工的名称(如又称功能或处理。它用一个圆形来表示,圆形内部填写加工的名称(如入库、查询、出库等)。入库、查询、出库等)。文件:文件:用一条横线来表示文件,横线上方或旁边注明文件的名字或内容。一用一条横线来表示文件,横线上方或旁边注明文件的名字或内容。一般情况下,一个文件使用一个表来实现。般情况下,一个文件使用一个表来实现。源头和终点:源头和终点:用方框表示,表示数据流动的开始和结束。
23、用方框表示,表示数据流动的开始和结束。 第第4章章 数据库设计数据库设计 一般地,规定数据流图的符号如下图所示一般地,规定数据流图的符号如下图所示:图示图示 数据流图的符号数据流图的符号第第4章章 数据库设计数据库设计 学校教学管理系统简化数据流图 第第4章章 数据库设计数据库设计 数据流图的画法数据流图的画法 一般地说,画数据流图应遵循一般地说,画数据流图应遵循“由外向内,逐步细化由外向内,逐步细化”的原则的原则 。由外向内是指:由外向内是指:根据用户活动图标定系统范围,系统范围根据用户活动图标定系统范围,系统范围内的细节部分可先不考虑,将其当成一个黑盒子。内的细节部分可先不考虑,将其当成一
24、个黑盒子。 逐步细化是指:逐步细化是指:逐一描述系统内部数据流,一般从每个业务的逐一描述系统内部数据流,一般从每个业务的输入端开始向输出端推进,每当经过使数据流的组成或数据发生输入端开始向输出端推进,每当经过使数据流的组成或数据发生变化的地方,就用一个变化的地方,就用一个“加工加工”将其连接起来。将其连接起来。 注意,不要把相互无关的数据画成一个数据流,也不要把注意,不要把相互无关的数据画成一个数据流,也不要把作为一个处理单位的数据画成二个数据流。如果牵涉到文件,则作为一个处理单位的数据画成二个数据流。如果牵涉到文件,则应表示出应表示出“文件文件”与与“加工加工”的读写关系。的读写关系。第第4
25、章章 数据库设计数据库设计 第第4章章 数据库设计数据库设计 第第4章章 数据库设计数据库设计 第第4章章 数据库设计数据库设计 第第4章章 数据库设计数据库设计 第第4章章 数据库设计数据库设计 注意:注意:数据流图画出后要验证其正确性,对一个大型信息管理数据流图画出后要验证其正确性,对一个大型信息管理系统,一开始的数据流图不可能是完美的,要经过反复修改,系统,一开始的数据流图不可能是完美的,要经过反复修改,逐步地去伪存真,最后才能得到满意的数据流图。逐步地去伪存真,最后才能得到满意的数据流图。 4 4分析系统数据分析系统数据 要产生要产生“系统说明书系统说明书”,系统说明书主要由两个,系统
26、说明书主要由两个部分组成部分组成数据流图和数据字典。数据流图和数据字典。 数据流图表达了数据和处理的关系,数据字典则数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行数据收集和是系统中各类数据描述的集合,是进行数据收集和数据分析所获得的结果。数据分析所获得的结果。第一种第一种DDDD: 为了控制和管理数据库,为了控制和管理数据库,DBMSDBMS都有自己的数据字典,都有自己的数据字典,其中其中保存了逻辑设计阶段定义的模式、子模式等有关信息,保存了保存了逻辑设计阶段定义的模式、子模式等有关信息,保存了物理设计阶段定义的存储模式、文件的存储位置、索引等信息,物理设计阶段定
27、义的存储模式、文件的存储位置、索引等信息,保存了用户名、用户口令、文件存取权限、完整性约束、安全保存了用户名、用户口令、文件存取权限、完整性约束、安全性定义等的信息,故性定义等的信息,故DBMSDBMS中的数据字典可看成是一个对数据库中的数据字典可看成是一个对数据库信息进行描述的数据库。信息进行描述的数据库。第二种第二种DDDD: 需求分析阶段所说的数据字典是指对有关数据、加工和文需求分析阶段所说的数据字典是指对有关数据、加工和文件进行描述建立的字典,目的是对收集到的数据进行标准化、件进行描述建立的字典,目的是对收集到的数据进行标准化、统统化,使数据、加工和文件有统化,使数据、加工和文件有统的
28、名称、格式和含义。的名称、格式和含义。通过数据流图构成数据字典通过数据流图构成数据字典数据流的描述数据流的描述 定义数据流的组成,每个数据流通常包括若干个数据项。定义数据流的组成,每个数据流通常包括若干个数据项。 办证请求办证请求=姓名姓名+身份证号身份证号+性别性别+职称职称+出生日期出生日期+电话号码电话号码+备注备注+照片照片+系号系号教师信息数据教师信息数据=教师号教师号+姓名姓名+性别性别+职称职称+系名系名证件证件=教师号教师号+姓名姓名+性别性别+职称职称+系名系名教师教师=教师号教师号+姓名姓名+身份证号身份证号+性别性别+职称职称+出生日期出生日期+电话号码电话号码+备注备注
29、+照片照片+系号系号系系=系号系号+系名系名+系主任系主任+电话号码电话号码+办公地址办公地址注意:注意:对数据流的描述通常可在数据流图的后面用说明来实现。对数据流的描述通常可在数据流图的后面用说明来实现。 文件的描述文件的描述 定义文件的定义文件的组成组成和和组织方式组织方式。教师教师=教师号教师号+姓名姓名+身份证号身份证号+性别性别+职称职称+出生日期出生日期+电话号码电话号码+备注备注+照片照片+系号系号 组织:按组织:按“教师号教师号”升序建立升序建立主索引主索引,按身份证号、姓名、职称升序分别建立,按身份证号、姓名、职称升序分别建立普普通索引通索引数据项的描述数据项的描述 是指对数
30、据项进行定义,一般包括对数据项的名称、类是指对数据项进行定义,一般包括对数据项的名称、类型、长度、取值范围进行定义。型、长度、取值范围进行定义。 第第4章章 数据库设计数据库设计 加工的描述加工的描述 用来对实现加工的处理过程进行描述和定义,用来对实现加工的处理过程进行描述和定义,包括过程名、过程说明、包括过程名、过程说明、输入输出、过程功能说明等。其中过程名用来定义加工过程的名称,过程说输入输出、过程功能说明等。其中过程名用来定义加工过程的名称,过程说明用来说明该加工过程的功能及处理要求,输入表示执行该加工过程所要输明用来说明该加工过程的功能及处理要求,输入表示执行该加工过程所要输入的数据,
31、输出是指该加工过程执行后应输出的数据。入的数据,输出是指该加工过程执行后应输出的数据。如如“办理证件办理证件”加工可描述如下。加工可描述如下。过程名:过程名:P1过程说明:办理证件(教师证)过程说明:办理证件(教师证)输入:(输入:(1)办证人基本信息,包括姓名,身份证号,性别,职称,出生日期,)办证人基本信息,包括姓名,身份证号,性别,职称,出生日期,电话号码,备注,照片,系号。电话号码,备注,照片,系号。 (2)“系系”表。表。输出:(输出:(1)证件信息。)证件信息。 (2)教师档案()教师档案(“教师教师”表)。表)。功能说明:获取办证人提供的基本信息,根据提供的系号从功能说明:获取办
32、证人提供的基本信息,根据提供的系号从“系系”表中查找表中查找到相应的系,读取到相应的系,读取“系系”的信息。形成教师的档案信息并存入的信息。形成教师的档案信息并存入“教师教师”表。表。形成证件信息并送打印机打印。形成证件信息并送打印机打印。 至此,分析用户需求已经完成,已经得到了由至此,分析用户需求已经完成,已经得到了由“数据流图数据流图”和和“数据字典数据字典”组成的组成的“系统说明书系统说明书”,基本上解决了,基本上解决了“做什么做什么”的问题,在下一阶段的问题,在下一阶段就要解决就要解决“怎样做怎样做”的问题了。的问题了。 4.3 4.3 概念模型设计(概念模型设计(E-RE-R图设计)
33、图设计) 概念模型的主要特点是:概念模型的主要特点是: (1)(1)能能真真实实、充充分分地地反反映映现现实实世世界界,包包括括事事物物和和事事物物之之间间的的联联系系,能能满满足足用用户户对对数数据据的的处处理理要要求求。概概念念结结构构是是对对现现实世界的一个真实模型。实世界的一个真实模型。 (2)(2)易易于于理理解解。从从而而可可以以用用它它和和不不熟熟悉悉计计算算机机的的用用户户交交换意见,用户的积极参与是数据库设计成功的关键。换意见,用户的积极参与是数据库设计成功的关键。 (3)(3)易易于于更更改改。当当应应用用环环境境和和应应用用要要求求改改变变时时,容容易易对对概念模型修改和
34、扩充。概念模型修改和扩充。 (4)(4)易于向关系、网状、层次等各种数据模型转换。易于向关系、网状、层次等各种数据模型转换。概念模型设计可分成两步概念模型设计可分成两步: :第一步:根据局部第一步:根据局部E-RE-R模型,产生局部模型,产生局部“E-RE-R图图”。第二步:对局部第二步:对局部E-RE-R模型进行综合,产生总体模型进行综合,产生总体E-RE-R模型,并建模型,并建立立“总体总体E-RE-R图图”。 4.4 4.4 逻辑模式设计逻辑模式设计 逻辑模式设计的实质是把逻辑模式设计的实质是把E-RE-R图转换为具体的图转换为具体的DBMSDBMS支持的数支持的数据模型。此处只讨论把据
35、模型。此处只讨论把E-RE-R图转换为关系模型的方法。图转换为关系模型的方法。 通常分两步进行:通常分两步进行:初步设计(把总体初步设计(把总体E-RE-R图转换成模式)图转换成模式)和优化设计(对模式进行优化,产生符合要求的合理最优的模和优化设计(对模式进行优化,产生符合要求的合理最优的模式)。式)。图示图示 逻辑结构设计的过程逻辑结构设计的过程 数据模型的优化数据模型的优化 数数据据库库逻逻辑辑设设计计的的结结果果不不是是惟惟一一的的。为为了了进进一一步步提提高高数数据据库库应应用用系系统统的的性性能能,还还应应该该根根据据应应用用需需要要适适当当地地修修改改、调调整整数数据据模型的结构,
36、这就是数据模型的优化。模型的结构,这就是数据模型的优化。 关系数据模型的优化通常以规范化理论为指导。关系数据模型的优化通常以规范化理论为指导。 具体方法为:具体方法为: (1) (1) 确定数据依赖。确定数据依赖。 (2) (2) 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。的联系。 (3)(3)按按照照数数据据依依赖赖的的理理论论对对关关系系模模式式逐逐一一进进行行分分析析,考考察察是是否否存存在在部部分分函函数数依依赖赖、传传递递函函数数依依赖赖等等,确确定定各各关关系系模模式式分分别别属属于于第第几几范式。范式。 (
37、4)(4)按按照照需需求求分分析析阶阶段段得得到到的的处处理理要要求求,分分析析这这些些模模式式对对于于这这样样的应用环境是否合适,确定是否要对某些模式进行合并或分解。的应用环境是否合适,确定是否要对某些模式进行合并或分解。 (5)(5)对对关关系系模模式式进进行行必必要要的的分分解解,提提高高数数据据操操作作的的效效率率和和存存储储空空间的利用率。间的利用率。 常用的两种分解方法是水平分解和垂直分解。常用的两种分解方法是水平分解和垂直分解。 例例如如,某某大大学学记记载载学学生生情情况况的的关关系系,包包括括大大专专生生、本本科科生生与研究生三大类学生。与研究生三大类学生。 如如果果多多数数
38、查查询询一一次次只只涉涉及及其其中中的的一一类类学学生生,就就应应把把整整个个学学生生关关系系“水水平平分分割割”为为大大专专生生、本本科科生生、研研究究生生三三个个关关系系,以以便便提提高高系系统的查询效率。统的查询效率。 再如,设有记载职工情况的关系:再如,设有记载职工情况的关系:EMP(EMP(工号,姓名,性别,年龄,职务,工资,工龄,住址,电话工号,姓名,性别,年龄,职务,工资,工龄,住址,电话) ) 如如果果经经常常查查询询的的仅仅是是前前六六项项,后后三三项项使使用用较较少少,就就可可将将该该关关系系“垂直分割垂直分割”为两个关系,即为两个关系,即 EMP1(EMP1(工号,姓名,
39、性别,年龄,职务,工资工号,姓名,性别,年龄,职务,工资) ); EMP2(EMP2(工号,工龄,住址,电话工号,工龄,住址,电话) )。以便减少访问时传送的数据量,提高查询的效率。以便减少访问时传送的数据量,提高查询的效率。4.5 4.5 数据库物理设计数据库物理设计 1概念概念 数据库物理设计的任务是使数据库的逻辑结构在物理设备上数据库物理设计的任务是使数据库的逻辑结构在物理设备上得以实现,建立起一个性能优良的数据库的物理结构。物理结得以实现,建立起一个性能优良的数据库的物理结构。物理结构依赖于给定的构依赖于给定的DBMSDBMS和硬件系统。和硬件系统。 2 步骤步骤(1 1)确定数据库的
40、物理结构)确定数据库的物理结构 (2 2)对物理结构进行评价,评价的重点是时间和)对物理结构进行评价,评价的重点是时间和空间效率空间效率 确定数据库的物理结构,通常要做以下几个方面的工作:确定数据库的物理结构,通常要做以下几个方面的工作: (1 1)确定数据的存取方法;)确定数据的存取方法; (2 2)确定数据的存储结构;)确定数据的存储结构; (3 3)确定数据的存放位置;)确定数据的存放位置; (4 4)确定系统配置。)确定系统配置。 对物理结构进行评价,评价的重点是时间和空间效率。对物理结构进行评价,评价的重点是时间和空间效率。 如果评价结果满足原设计要求,则可进入到物理实施阶如果评价结
41、果满足原设计要求,则可进入到物理实施阶段,否则,就需要重新设计或修改物理结构,有时甚至要段,否则,就需要重新设计或修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。返回逻辑设计阶段修改数据模型。4.6 4.6 数据库的实施数据库的实施 1. 1.概念概念 根据逻辑设计和物理设计的结果,利用特定的根据逻辑设计和物理设计的结果,利用特定的DBMSDBMS在计在计算机系统上建立起实际数据库结构、装入数据、测试和试运算机系统上建立起实际数据库结构、装入数据、测试和试运行的过程称为数据库的实施。行的过程称为数据库的实施。(1 1)建立实际数据库结构。)建立实际数据库结构。 利用数据库管理系统或应用开
42、发平台的数据库设计工具设计出实利用数据库管理系统或应用开发平台的数据库设计工具设计出实际的数据库结构。际的数据库结构。 2.2.工作工作 (2 2)装入试验数据对应用程序进行调试。)装入试验数据对应用程序进行调试。 试验数据可以是实际数据,也可由手工生成或用随机数发生器生成。应试验数据可以是实际数据,也可由手工生成或用随机数发生器生成。应使测试数据尽可能覆盖现实世界的各种情况,利用测试数据对应用程序进行使测试数据尽可能覆盖现实世界的各种情况,利用测试数据对应用程序进行调试并对其性能进行初步测试。调试并对其性能进行初步测试。 (3 3)装入实际数据,进入试运行状态。)装入实际数据,进入试运行状态
43、。 应用程序测试完成后,并装入了实际数据,就可以进行数据库系应用程序测试完成后,并装入了实际数据,就可以进行数据库系统的试运行了。统的试运行了。 数据库系统的试运行也称为联合调试,其主要工作包括两数据库系统的试运行也称为联合调试,其主要工作包括两步。步。 功能测试。功能测试。即实际运行数据库应用程序,执行对数据库的各种操作,测试即实际运行数据库应用程序,执行对数据库的各种操作,测试应用程序的各种功能。应用程序的各种功能。 性能测试。性能测试。即测量系统的性能指标,分析是否符合设计目标。即测量系统的性能指标,分析是否符合设计目标。 注意:无论是功能测试还是性能测试,如果不符合设计目注意:无论是功
44、能测试还是性能测试,如果不符合设计目标,则需一步一步向前回推,找到问题的症结所在,修改后继标,则需一步一步向前回推,找到问题的症结所在,修改后继续测试,直到达到设计目标时为止。续测试,直到达到设计目标时为止。 数数据据库库应应用用程程序序的的设设计计应应该该与与数数据据库库设设计计同同时时进进行行,因因此此在在组组织织数数据据入入库库的的同同时时还还要要调调试应用程序。试应用程序。 应应用用程程序序的的设设计计、编编码码和和调调试试的的方方法法、步步骤骤将将在在软软件件工工程中讲解,这里就不详述了。程中讲解,这里就不详述了。4.7 4.7 数据库的运行与维护数据库的运行与维护 1. 1.运行与
45、维护工作的开始运行与维护工作的开始 数据库投入运行标志着开发任务的基本完成和维护工作的开始,从来数据库投入运行标志着开发任务的基本完成和维护工作的开始,从来不存在一个数据库系统是静止不动的,只要它存在一天,就得不断地对它不存在一个数据库系统是静止不动的,只要它存在一天,就得不断地对它进行维护。进行维护。 (1 1)对日常数据库操作进行维护:)对日常数据库操作进行维护:指对数据库中的数据随时按需要进行增、指对数据库中的数据随时按需要进行增、删、修改、查询等操作。删、修改、查询等操作。 2.2.主要任务主要任务 (2 2)维护数据库的结构:)维护数据库的结构:指重构和重组数据库。重构是指重新定义数
46、据库的指重构和重组数据库。重构是指重新定义数据库的结构,并把数据装填到数据库文件中。重组是指物理删除数据库中不需要的结构,并把数据装填到数据库文件中。重组是指物理删除数据库中不需要的数据。数据。 (3 3)维护数据库的安全性与完整性:)维护数据库的安全性与完整性:检查系统安全性是否受到侵犯,及时调整授检查系统安全性是否受到侵犯,及时调整授权和密码,实施系统备份,发生故障后及时恢复。权和密码,实施系统备份,发生故障后及时恢复。 (4 4)监测并改善数据库运行性能:)监测并改善数据库运行性能:对数据库的存储空间状况及响应时间进行对数据库的存储空间状况及响应时间进行分析评价,结合用户反应确定改进措施
47、,并实施改进。分析评价,结合用户反应确定改进措施,并实施改进。(5 5)根据用户要求对数据库现有功能进行扩充。)根据用户要求对数据库现有功能进行扩充。(6 6)及时改正运行中发现的系统错误。)及时改正运行中发现的系统错误。 注意的是:要充分认识到,数据库系统只要在运行,就要不注意的是:要充分认识到,数据库系统只要在运行,就要不断地进行评价、调整、修改。如果应用变化太大,改进工作已断地进行评价、调整、修改。如果应用变化太大,改进工作已无济于事,那么表明原数据库应用系统生存期已结束,应该设无济于事,那么表明原数据库应用系统生存期已结束,应该设计新的数据库应用系统了。计新的数据库应用系统了。 4.8
48、 4.8 编写技术文档编写技术文档 一个软件系统,从分析到开工,要求有一份功能明确的一个软件系统,从分析到开工,要求有一份功能明确的“系统说明书系统说明书”,通过前面的分析可知通过前面的分析可知系统说明书主要由数据流图和数据字典组成。它用来系统说明书主要由数据流图和数据字典组成。它用来表达用户对系统的要求,表达用户对系统的要求,软件人员根据软件人员根据“系统说明书系统说明书”进行数据库的建立和进行数据库的建立和应用程序的设计。应用程序的设计。 1. 1.编写系统说明书编写系统说明书 2.2.编写技术说明书编写技术说明书 对数据库设计全过程中所采用的技术手段和实现措施进行归纳存档对数据库设计全过程中所采用的技术手段和实现措施进行归纳存档,对对各环节的技术资料进行归纳整理存档,所形成的书面材料称技术说明书。各环节的技术资料进行归纳整理存档,所形成的书面材料称技术说明书。3.3.编写使用说明书编写使用说明书 开发任务完成了,设计者应编写详尽的使用说明书,开发任务完成了,设计者应编写详尽的使用说明书,用来指导使用者使用来指导使用者使用本数据库系统。使用说明书包括软件的操作步骤、维护中应注意的问题等用本数据库系统。使用说明书包括软件的操作步骤、维护中应注意的问题等部分。部分。