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

下载本文档

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

文档简介

1、数据库应用教程数据库应用教程本章主要内容需求分析需求分析 数据库设计概述数据库设计概述 概念模型设计(概念模型设计(E-R图设计)图设计) 数据库物理设计数据库物理设计 逻辑模式设计逻辑模式设计 主要内容主要内容数据库的实施数据库的实施 数据库的运行与维护数据库的运行与维护 编写技术文档编写技术文档 4.1 数据库设计概述数据库设计概述 1概念概念 数据库设计是指对于一个给定的应用环境,构造最优的数据库模数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足用户式,建立数据库及其应用系统,使之能够有效地存储数据,满足用户的应用需求(信息

2、需求和处理需求)。数据库设计是数据库应用系统的应用需求(信息需求和处理需求)。数据库设计是数据库应用系统开发与建设的核心问题,是数据库在应用领域的主要研究课题。开发与建设的核心问题,是数据库在应用领域的主要研究课题。2数据库设计方法数据库设计方法 数据库设计质量的优劣,不仅仅直接影响到当前的应用,还影响数据库设计质量的优劣,不仅仅直接影响到当前的应用,还影响到数据库应用过程中的维护,从而也影响到数据库的生命周期。因此,到数据库应用过程中的维护,从而也影响到数据库的生命周期。因此,人们一直在探索有效的数据库设计方法,这种方法应能在合理的时间人们一直在探索有效的数据库设计方法,这种方法应能在合理的

3、时间内付出合理的工作量的情况下,产生具有实用价值的数据库结构。该内付出合理的工作量的情况下,产生具有实用价值的数据库结构。该方法应具有足够的通用性和灵活性,适用于不同的应用领域,适合于方法应具有足够的通用性和灵活性,适用于不同的应用领域,适合于多种不同特征的数据库管理系统和不同素质的数据库设计人员。从更多种不同特征的数据库管理系统和不同素质的数据库设计人员。从更高的目标来要求,数据库设计方法还应具有可再生产的特征。即不同高的目标来要求,数据库设计方法还应具有可再生产的特征。即不同的人应用该方法于同一问题,应该得到同样的或相近的数据库结构。的人应用该方法于同一问题,应该得到同样的或相近的数据库结

4、构。4.1 数据库设计概述数据库设计概述 4.1.1 数据库设计的目标数据库设计的目标 1目标目标 数据库设计的目标是:从用户对数据的需求出发,创建一个性能良好数据库设计的目标是:从用户对数据的需求出发,创建一个性能良好的、能满足不同用户需求的、又能被选定的的、能满足不同用户需求的、又能被选定的DBMS所接受的数据库模所接受的数据库模式。具体地说,数据库设计有两个最重要的目标:满足应用功能需求式。具体地说,数据库设计有两个最重要的目标:满足应用功能需求和良好的数据库性能。和良好的数据库性能。2满足应用功能需求满足应用功能需求 3良好的数据库性能良好的数据库性能 指把用户当前应用以及可预知的将来

5、应用所需要的数据及其联系能全指把用户当前应用以及可预知的将来应用所需要的数据及其联系能全部准确地存放于数据库之中,并能根据用户的需要对数据进行规定的部准确地存放于数据库之中,并能根据用户的需要对数据进行规定的合理的增、删、改、查询等操作。合理的增、删、改、查询等操作。指数据库应具有良好的存储结构、良好的数据共享性、良好的数据完指数据库应具有良好的存储结构、良好的数据共享性、良好的数据完整性、良好的数据一致性及良好的安全保密性能等。整性、良好的数据一致性及良好的安全保密性能等。4.1 数据库设计概述数据库设计概述 4.1.2 数据库设计的内容数据库设计的内容 1数据库的结构特性设计数据库的结构特

6、性设计 数据库的结构特性设计是确定数据库的框架和数据结构(逻辑结构特数据库的结构特性设计是确定数据库的框架和数据结构(逻辑结构特征)。它是汇总各用户视图产生的全局逻辑结构。它反映了现实世界及征)。它是汇总各用户视图产生的全局逻辑结构。它反映了现实世界及其联系,具有最小的数据冗余,能实现数据共享。结构特性是静态的,其联系,具有最小的数据冗余,能实现数据共享。结构特性是静态的,一旦形成一般不会轻易改动,因此又称为静态结构设计。一旦形成一般不会轻易改动,因此又称为静态结构设计。2数据库的行为特性设计数据库的行为特性设计 3数据库的物理模式设计数据库的物理模式设计 数据库的行为特性设计是指确定数据库用

7、户的行为和动作,并根据其行数据库的行为特性设计是指确定数据库用户的行为和动作,并根据其行为特性设计出数据库的子模式。在数据库系统中,数据库的行为和动作为特性设计出数据库的子模式。在数据库系统中,数据库的行为和动作反映在数据库应用程序中,包括记录的添加、删除与修改、数据库的查反映在数据库应用程序中,包括记录的添加、删除与修改、数据库的查询和统计、事务处理及报表处理等。因而设计数据库的行为特性要与应询和统计、事务处理及报表处理等。因而设计数据库的行为特性要与应用系统的设计结合进行。由于用户的行为特性是动态的,所以数据库的用系统的设计结合进行。由于用户的行为特性是动态的,所以数据库的行为特性也称为数

8、据库的动态特性设计。行为特性也称为数据库的动态特性设计。根据数据库结构的动态特性,在特定的根据数据库结构的动态特性,在特定的DBMS环境下,把数据库的逻环境下,把数据库的逻辑结构模型加以物理实现,从而得出数据库的存储模式和存取方法。辑结构模型加以物理实现,从而得出数据库的存储模式和存取方法。4.1 数据库设计概述数据库设计概述 4.1.3 数据库设计的特点与方法数据库设计的特点与方法 1数据库设计的特点数据库设计的特点 ()完善性。数据库在设计时就不完善,那么基于该数据库的应用系()完善性。数据库在设计时就不完善,那么基于该数据库的应用系统同样也会不完善,甚至还会因为在数据库设计阶段中的隐患,

9、而在使统同样也会不完善,甚至还会因为在数据库设计阶段中的隐患,而在使用中造成极大的损失。用中造成极大的损失。 ()试探性和反复性()试探性和反复性 。由于数据库结构特性和行为特性的设计是分离。由于数据库结构特性和行为特性的设计是分离的,决定了数据库设计是一种的,决定了数据库设计是一种“反复探寻,逐步求精反复探寻,逐步求精”的过程。为实现的过程。为实现用户的目标,结构特征必须良好,但结构特性是体现在模式和子模式的用户的目标,结构特征必须良好,但结构特性是体现在模式和子模式的定义中。而用户的行为特征是体现在应用程序中的,从而导致程序和数定义中。而用户的行为特征是体现在应用程序中的,从而导致程序和数

10、据不易结合,因此数据库的最佳设计不可能一蹴而就,只能是一个反复据不易结合,因此数据库的最佳设计不可能一蹴而就,只能是一个反复探寻的过程。探寻的过程。 ()团结协作性。需要用户积极参与,需要不同岗位的人员相互合作、()团结协作性。需要用户积极参与,需要不同岗位的人员相互合作、相互交流,才能最终设计出一个让用户满意的系统。相互交流,才能最终设计出一个让用户满意的系统。 4.1 数据库设计概述数据库设计概述 4.1.3 数据库设计的特点与方法数据库设计的特点与方法 2数据库设计的方法数据库设计的方法手工试凑法手工试凑法 采用手工试凑法进行数据库设计的设计质量与设计人员的经验和水采用手工试凑法进行数据

11、库设计的设计质量与设计人员的经验和水平直接相关,设计质量难以得到保障。平直接相关,设计质量难以得到保障。 为解决该缺陷,数据库设计人员经过大量的探索,并把软件工程的为解决该缺陷,数据库设计人员经过大量的探索,并把软件工程的思想和方法应用于数据库设计,根据数据库设计的特点,提出了多种数思想和方法应用于数据库设计,根据数据库设计的特点,提出了多种数据库设计方法,并提出了多种数据库设计的准则和规程,这些方法统称据库设计方法,并提出了多种数据库设计的准则和规程,这些方法统称为规范化设计方法。目前最常用的数据库设计方法有新奥尔良方法、为规范化设计方法。目前最常用的数据库设计方法有新奥尔良方法、S.B.Y

12、ao方法、方法、I.R.Palmer方法、数据库生命周期法等。方法、数据库生命周期法等。规范化设计方法规范化设计方法 4.1 数据库设计概述数据库设计概述 4.1.3 数据库设计的特点与方法数据库设计的特点与方法 2数据库设计的方法数据库设计的方法(1)新奥尔良方法)新奥尔良方法 新奥尔良方法把数据库设计分为需求分析(分析用户需求)、概念新奥尔良方法把数据库设计分为需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)四个阶段。据库设计)四个阶段。 S.B.Yao方法将数据库设计分为需

13、求分析、模式构成、模式汇总、方法将数据库设计分为需求分析、模式构成、模式汇总、模式重构、模式分析和物理数据库设计六个步骤。模式重构、模式分析和物理数据库设计六个步骤。(2)S.B.Yao方法方法 4.1 数据库设计概述数据库设计概述 4.1.3 数据库设计的特点与方法数据库设计的特点与方法 2数据库设计的方法数据库设计的方法(3)I.R.Palmer方法方法 I.R.Palmer方法主张把数据库设计当成一步接一步的过程,并采用方法主张把数据库设计当成一步接一步的过程,并采用一些辅助手段实现每一过程。一些辅助手段实现每一过程。 根据数据库的生命周期,把数据库设计分成六个阶段:需求分析、根据数据库

14、的生命周期,把数据库设计分成六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库的概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库的运行与维护六个阶段。目前数据库设计一般都采用该方法。运行与维护六个阶段。目前数据库设计一般都采用该方法。(4)数据库生命周期法)数据库生命周期法 4.2 需求分析需求分析 重要性重要性 数据库的性能是由用户决定的,所以彻底弄清用户需求,是数据库设计数据库的性能是由用户决定的,所以彻底弄清用户需求,是数据库设计任务能否顺利完成的关键。任务能否顺利完成的关键。第一步:分析用户活动,产生第一步:分析用户活动,产生“用户活动图用户活

15、动图”。 分步分步 第二步:确定系统范围,产生第二步:确定系统范围,产生“系统范围图系统范围图”。 第三步:分析用户活动所涉及到的数据,产生第三步:分析用户活动所涉及到的数据,产生“数据流图数据流图”。 第四步:分析系统数据,产生数据字典第四步:分析系统数据,产生数据字典 。 4.2 需求分析需求分析 4.1.3 数据库设计的特点与方法数据库设计的特点与方法 【例例4-1】某院校信息管理系统要完成以下基本功能:某院校信息管理系统要完成以下基本功能: (1)办工作证(新教师到校后需办理工作证)办工作证(新教师到校后需办理工作证) (2)办学生证(新学生到校报到时需办理学生证)办学生证(新学生到校

16、报到时需办理学生证) (3)安排课表(根据教学计划排定课表,涉及到教师、教室、)安排课表(根据教学计划排定课表,涉及到教师、教室、课程、班级等对象)课程、班级等对象) (4)授课查询(根据教师名能够查询到该教师的授课情况)授课查询(根据教师名能够查询到该教师的授课情况) (5)成绩查询(根据学号能够查询到该学生的课程成绩)成绩查询(根据学号能够查询到该学生的课程成绩) (6)工资查询(根据教师名能够查询到该教师的工资信息)工资查询(根据教师名能够查询到该教师的工资信息) 4.2 需求分析需求分析 1.分析用户活动分析用户活动 从单位日常工作流程着手,可通过座谈会、与职员共同工作、设计从单位日常

17、工作流程着手,可通过座谈会、与职员共同工作、设计调查问卷、查阅历史的业务记录等途径来搞清业务的处理流程。调查问卷、查阅历史的业务记录等途径来搞清业务的处理流程。4.2 需求分析需求分析 2确定系统范围确定系统范围 计算机不是计算机不是“机器人机器人”,它不是万能的,不是所有的活动内容都适合计,它不是万能的,不是所有的活动内容都适合计算机处理,有些工作即使在计算机环境下仍需人工处理。因此画出用户算机处理,有些工作即使在计算机环境下仍需人工处理。因此画出用户活动图后,还要确定属于系统的处理范围。活动图后,还要确定属于系统的处理范围。 3分析用户活动所涉及到的数据分析用户活动所涉及到的数据 搞清系统

18、需要处理的范围后,还需进一步分析用户的业务处理,关注的搞清系统需要处理的范围后,还需进一步分析用户的业务处理,关注的焦点是搞清用户活动图中所处理的数据,并以焦点是搞清用户活动图中所处理的数据,并以“数据流图(数据流图(DFD)”的的形式来表示出数据的流向和对数据所进行的加工。形式来表示出数据的流向和对数据所进行的加工。 数据流图是描述企事业等机构的活动及来往于各处理活动之间数据流动数据流图是描述企事业等机构的活动及来往于各处理活动之间数据流动的有力工具,是一种从数据流的角度描述一个企事业单位活动的图示,的有力工具,是一种从数据流的角度描述一个企事业单位活动的图示,被广泛用于数据处理系统开发设计

19、中。数据流程作为分析阶段重要的技被广泛用于数据处理系统开发设计中。数据流程作为分析阶段重要的技术文档,作为今后验收系统的依据。术文档,作为今后验收系统的依据。 4.2 需求分析需求分析 3分析用户活动所涉及到的数据分析用户活动所涉及到的数据 (1)数据流图()数据流图(DFD)的概念)的概念数据流图是一种能全面描述系统逻辑模型的主要工具,它可以用少数几数据流图是一种能全面描述系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出数据在系统中的流动、存储和处理情况。种符号综合地反映出数据在系统中的流动、存储和处理情况。 (2)数据流图的特征)数据流图的特征数据流图具有抽象性和概括性等特点。数据

20、流图具有抽象性和概括性等特点。抽象性抽象性数据流图完全舍去了具体的物质,只剩下数据的流动、加工数据流图完全舍去了具体的物质,只剩下数据的流动、加工处理和存储。处理和存储。概括性概括性数据流图可以把系统中的不同业务处理过程联系起来,形成数据流图可以把系统中的不同业务处理过程联系起来,形成一个整体。无论是手工操作部分还是计算机处理部分,都可以用数据流一个整体。无论是手工操作部分还是计算机处理部分,都可以用数据流图系统地表达出来图系统地表达出来 。4.2 需求分析需求分析 3分析用户活动所涉及到的数据分析用户活动所涉及到的数据 (3)数据流图的组成)数据流图的组成 数据流、加工、文件、源点与终点。数

21、据流、加工、文件、源点与终点。数据流:表示流动着的数据,它可以是一项数据,也可以是一组数据数据流:表示流动着的数据,它可以是一项数据,也可以是一组数据(如通知单等),也可用来表示数据文件的存储操作。数据流通常用箭(如通知单等),也可用来表示数据文件的存储操作。数据流通常用箭头表示,在它的上方标明数据流的名称。头表示,在它的上方标明数据流的名称。加工:又称功能或处理。它用一个圆形来表示,圆形内部填写加工的名加工:又称功能或处理。它用一个圆形来表示,圆形内部填写加工的名称(如入库、查询、出库等)。称(如入库、查询、出库等)。文件:用一条横线来表示文件,横线上方或旁边注明文件的名字或内容。文件:用一

22、条横线来表示文件,横线上方或旁边注明文件的名字或内容。一般情况下,一个文件使用一个表来实现。一般情况下,一个文件使用一个表来实现。源头和终点:用方框表示,表示数据流动的开始和结束。源头和终点:用方框表示,表示数据流动的开始和结束。 4.2 需求分析需求分析 3分析用户活动所涉及到的数据分析用户活动所涉及到的数据 (4)数据流图的画法)数据流图的画法一般地说,画数据流图应遵循一般地说,画数据流图应遵循“由外向内,逐步细化由外向内,逐步细化”的原则的原则 。由外向内是指:根据用户活动图标定系统范围,系统范围内的细节部分由外向内是指:根据用户活动图标定系统范围,系统范围内的细节部分可先不考虑,将其当

23、成一个黑盒子。可先不考虑,将其当成一个黑盒子。 逐步细化是指:逐一描述系统内部数据流,一般从每个业务的输入端开逐步细化是指:逐一描述系统内部数据流,一般从每个业务的输入端开始向输出端推进,每当经过使数据流的组成或数据发生变化的地方,就始向输出端推进,每当经过使数据流的组成或数据发生变化的地方,就用一个用一个“加工加工”将其连接起来,这个将其连接起来,这个“加工加工”正是实现这一数据变化的。正是实现这一数据变化的。注意,不要把相互无关的数据画成一个数据流,也不要把作为一个处理注意,不要把相互无关的数据画成一个数据流,也不要把作为一个处理单位的数据画成二个数据流。如果牵涉到文件,则应表示出单位的数

24、据画成二个数据流。如果牵涉到文件,则应表示出“文件文件”与与“加工加工”的读写关系。的读写关系。 。注意:注意:数据流图画出后要验证其正确性,对一个大型信息管数据流图画出后要验证其正确性,对一个大型信息管理系统,一开始的数据流图不可能是完美的,要经过反复修理系统,一开始的数据流图不可能是完美的,要经过反复修改,逐步地去伪存真,最后才能得到满意的数据流图。改,逐步地去伪存真,最后才能得到满意的数据流图。 4.2 需求分析需求分析 4分析系统数据分析系统数据 分析用户需求阶段要产生分析用户需求阶段要产生“系统说明书系统说明书”,系统说明书主要由两个部分,系统说明书主要由两个部分组成组成数据流图和数

25、据字典。数据流图只表示出系统由哪几部分组分数据流图和数据字典。数据流图只表示出系统由哪几部分组分和各部分之间的关系,并没有说明各组成部分的含义,但只有在对每个和各部分之间的关系,并没有说明各组成部分的含义,但只有在对每个组成成份进行确切的定义后,才能完整地描述系统。换句话说,设计者组成成份进行确切的定义后,才能完整地描述系统。换句话说,设计者对数据流图中的每个数据流名、文件名、加工名给出具体定义,并用一对数据流图中的每个数据流名、文件名、加工名给出具体定义,并用一个条目来描述,描述后的产物就是个条目来描述,描述后的产物就是“数据字典数据字典”。数据流图表达了数据和处理的关系,数据字典则是系统中

26、各类数据描述数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行数据收集和数据分析所获得的结果。的集合,是进行数据收集和数据分析所获得的结果。(1)数据字典的概念)数据字典的概念 第一种第一种DD:为了控制和管理数据库,:为了控制和管理数据库,DBMS都有自己的数据字典,其中都有自己的数据字典,其中保存了逻辑设计阶段定义的模式、子模式等有关信息,保存了物理设计保存了逻辑设计阶段定义的模式、子模式等有关信息,保存了物理设计阶段定义的存储模式、文件的存储位置、索引等信息,保存了用户名、阶段定义的存储模式、文件的存储位置、索引等信息,保存了用户名、用户口令、文件存取权限、完整

27、性约束、安全性定义等的信息,故用户口令、文件存取权限、完整性约束、安全性定义等的信息,故DBMS中的数据字典可看成是一个对数据库信息进行描述的数据库。中的数据字典可看成是一个对数据库信息进行描述的数据库。4.2 需求分析需求分析 4分析系统数据分析系统数据 (1)数据字典的概念)数据字典的概念 第二种第二种DD:需求分析阶段所说的数据字典与:需求分析阶段所说的数据字典与DBMS中的数据字典并不一中的数据字典并不一样,这里的数据字典是指对有关数据、加工和文件进行描述建立的字典,样,这里的数据字典是指对有关数据、加工和文件进行描述建立的字典,目的是对收集到的数据进行标准化、统目的是对收集到的数据进

28、行标准化、统化,使数据、加工和文件有化,使数据、加工和文件有统统的名称、格式和含义。的名称、格式和含义。数据字典是关于数据库中数据的描述,通常称数据字典是关于数据库中数据的描述,通常称“元数据元数据”,元数据不是,元数据不是数据本身。数据字典在数据库设计中占有非常重要的地位,是概念模式数据本身。数据字典在数据库设计中占有非常重要的地位,是概念模式设计、逻辑模式设计和物理设计的主要依据。设计、逻辑模式设计和物理设计的主要依据。4.2 需求分析需求分析 4分析系统数据分析系统数据 (1)数据字典的概念)数据字典的概念数据字典是对数据流图中的四个成份进行描述的产物,它和数据流图共数据字典是对数据流图

29、中的四个成份进行描述的产物,它和数据流图共同构成同构成“系统说明书系统说明书”。数据流的描述数据流的描述也就是定义数据流的组成,每个数据流通常包括若干个数据项。也就是定义数据流的组成,每个数据流通常包括若干个数据项。 办证请求办证请求=姓名姓名+身份证号身份证号+性别性别+职称职称+出生日期出生日期+电话号码电话号码+备注备注+照片照片+系号系号教师信息数据教师信息数据=教师号教师号+姓名姓名+性别性别+职称职称+系名系名证件证件=教师号教师号+姓名姓名+性别性别+职称职称+系名系名教师教师=教师号教师号+姓名姓名+身份证号身份证号+性别性别+职称职称+出生日期出生日期+电话号码电话号码+备注

30、备注+照片照片+系号系号系系=系号系号+系名系名+系主任系主任+电话号码电话号码+办公地址办公地址注意:注意:对数据流的描述通常可在数据流图的后面用说明来实现。对数据流的描述通常可在数据流图的后面用说明来实现。 4.2 需求分析需求分析 4分析系统数据分析系统数据 (1)数据字典的概念)数据字典的概念文件的描述文件的描述 就是定义文件的组成和组织方式。下面是对图就是定义文件的组成和组织方式。下面是对图4-5中的中的“教师教师”文件的描述:文件的描述:教师教师=教师号教师号+姓名姓名+身份证号身份证号+性别性别+职称职称+出生日期出生日期+电话号码电话号码+备注备注+照片照片+系号系号 组织:按

31、组织:按“教师号教师号”升序建立主索引,按身份证号、姓名、职称升序分别建立普升序建立主索引,按身份证号、姓名、职称升序分别建立普通索引通索引数据项的描述数据项的描述 是指对数据项进行定义,一般包括对数据项的名称、类型、长度、取值范围进是指对数据项进行定义,一般包括对数据项的名称、类型、长度、取值范围进行定义。行定义。 4.2 需求分析需求分析 4分析系统数据分析系统数据 (1)数据字典的概念)数据字典的概念加工的描述加工的描述 用来对实现加工的处理过程进行描述和定义,包括过程名、过程说用来对实现加工的处理过程进行描述和定义,包括过程名、过程说明、输入输出、过程功能说明等。其中过程名用来定义加工

32、过程的名称,明、输入输出、过程功能说明等。其中过程名用来定义加工过程的名称,过程说明用来说明该加工过程的功能及处理要求,输入表示执行该加工过程说明用来说明该加工过程的功能及处理要求,输入表示执行该加工过程所要输入的数据,输出是指该加工过程执行后应输出的数据。需注过程所要输入的数据,输出是指该加工过程执行后应输出的数据。需注意的是:对加工的描述只是说明意的是:对加工的描述只是说明“做什么做什么”,而不是说明,而不是说明“怎样做怎样做”,即不说明怎样实现。即不说明怎样实现。4.2 需求分析需求分析 4分析系统数据分析系统数据 (1)数据字典的概念)数据字典的概念加工的描述加工的描述 如如“办理证件

33、办理证件”加工可描述如下。加工可描述如下。过程名:过程名:P1过程说明:过程说明:办理证件(教师证)办理证件(教师证)输入:输入:(1)办证人基本信息,包括姓名,身份证号,性别,职称,出生日期,)办证人基本信息,包括姓名,身份证号,性别,职称,出生日期,电话号码,备注,照片,系号。电话号码,备注,照片,系号。 (2)“系系”表。表。输出:输出:(1)证件信息。)证件信息。 (2)教师档案()教师档案(“教师教师”表)。表)。功能说明:功能说明:获取办证人提供的基本信息,根据提供的系号从获取办证人提供的基本信息,根据提供的系号从“系系”表中查找到表中查找到相应的系,读取相应的系,读取“系系”的信

34、息。形成教师的档案信息并存入的信息。形成教师的档案信息并存入“教师教师”表。形成表。形成证件信息并送打印机打印。证件信息并送打印机打印。 至此,分析用户需求已经完成,已经得到了由至此,分析用户需求已经完成,已经得到了由“数据流图数据流图”和和“数据字典数据字典”组成组成的的“系统说明书系统说明书”,基本上解决了,基本上解决了“做什么做什么”的问题,在下一阶段就要解决的问题,在下一阶段就要解决“怎怎样做样做”的问题了。的问题了。 4.3 概念模型设计(概念模型设计(E-R图设计)图设计) 数据流图和数据字典是进行概念模型设计的基础,概念模型设计数据流图和数据字典是进行概念模型设计的基础,概念模型

35、设计可分成两步,如下。可分成两步,如下。第一步:根据局部第一步:根据局部E-R模型,产生局部模型,产生局部“E-R图图”。第二步:对局部第二步:对局部E-R模型进行综合,产生总体模型进行综合,产生总体E-R模型,并建立模型,并建立“总体总体E-R图图”。 4.3 概念模型设计(概念模型设计(E-R图设计)图设计)1局部局部E-R模型的设计模型的设计 【例例4-2】根据数据源图和数据字典设计院校信息管理系统的局部根据数据源图和数据字典设计院校信息管理系统的局部E-R图。图。 4.3 概念模型设计(概念模型设计(E-R图设计)图设计) 2总体总体E-R模型的设计模型的设计 对局部对局部E-R图加以

36、综合,使同一实体只出现一次,便可产生总体图加以综合,使同一实体只出现一次,便可产生总体E-R图。图。 由于各个局部应用所涉及的问题不同,设计的人员也可能不同,故各个局由于各个局部应用所涉及的问题不同,设计的人员也可能不同,故各个局部部E-R图之间难免会存在许多不一致的地方,即产生冲突。图之间难免会存在许多不一致的地方,即产生冲突。 局部局部E-R图之间的冲突主要有图之间的冲突主要有3类:属性冲突、命名冲突和结构冲突。类:属性冲突、命名冲突和结构冲突。 (1)属性冲突)属性冲突属性冲突主要有以下两种情况属性冲突主要有以下两种情况属性域冲突,即属性值的类型、取值范围不同。例如对于教师号、属性域冲突

37、,即属性值的类型、取值范围不同。例如对于教师号、学号等,办证部门和排课部门可能会采用不同的编码形式,而且又可学号等,办证部门和排课部门可能会采用不同的编码形式,而且又可能被定义的整型和字符型。这就需要各个部门协商解决。能被定义的整型和字符型。这就需要各个部门协商解决。属性取值单位冲突。例如关于某门课的成绩,有的教师以百分制,属性取值单位冲突。例如关于某门课的成绩,有的教师以百分制,有的教师以五分制。有的教师以五分制。4.3 概念模型设计(概念模型设计(E-R图设计)图设计) 2总体总体E-R模型的设计模型的设计 (2)命名冲突)命名冲突 主要有两种情况主要有两种情况 同名异义冲突,即不同意义的

38、对象在不同的部门的局部同名异义冲突,即不同意义的对象在不同的部门的局部E-R图中具有图中具有相同的名字。相同的名字。异名同义冲突,即意义相同的对象在不同的部门的局部异名同义冲突,即意义相同的对象在不同的部门的局部E-R图中具有图中具有不同的名字。不同的名字。4.3 概念模型设计(概念模型设计(E-R图设计)图设计) 2总体总体E-R模型的设计模型的设计 (3)结构冲突)结构冲突 主要有三种情况主要有三种情况 同一对象在不同的应用中具有不同的抽象。同一对象在不同的应用中具有不同的抽象。同一实体集在不同的局部同一实体集在不同的局部E-R图中的属性组成不一致,即包含的属性图中的属性组成不一致,即包含

39、的属性个数和属性排列次序不完全相同。解决这类冲突的方法是取得该实体个数和属性排列次序不完全相同。解决这类冲突的方法是取得该实体集在各个局部集在各个局部E-R图中属性的并集,再适当调整属性的次序,然后再作图中属性的并集,再适当调整属性的次序,然后再作为该实体集的属性。为该实体集的属性。实体集之间的联系在不同的局部实体集之间的联系在不同的局部ER图中呈现不同的类型。这类冲图中呈现不同的类型。这类冲突的解决方法是根据应用的语义对实体集联系的类型进行综合或调整。突的解决方法是根据应用的语义对实体集联系的类型进行综合或调整。如如“排课排课”联系与联系与“授课授课”联系,其实都是说明某一教师为某一班级联系

40、,其实都是说明某一教师为某一班级上某一门课,不同的只是排课联系中需要指定课安排在哪个教室而已,上某一门课,不同的只是排课联系中需要指定课安排在哪个教室而已,因此可把这两个联系进行合并,合并为因此可把这两个联系进行合并,合并为“授课授课”联系,联系中包含两联系,联系中包含两个联系的所有实体。个联系的所有实体。【例例4-3】对院校管理系统的局部对院校管理系统的局部E-R图进行综合,生成全局图进行综合,生成全局E-R图。图。 4.4 逻辑模式设计逻辑模式设计 1初步设计初步设计把把E-R图转换为关系模型图转换为关系模型 逻辑模式设计的实质是把逻辑模式设计的实质是把E-R图转换为具体的图转换为具体的D

41、BMS支持的数据模型。支持的数据模型。此处只讨论把此处只讨论把E-R图转换为关系模型的方法,通常分两步进行:初步设图转换为关系模型的方法,通常分两步进行:初步设计(把总体计(把总体E-R图转换成模式)和优化设计(对模式进行优化,产生符图转换成模式)和优化设计(对模式进行优化,产生符合要求的合理最优的模式)。合要求的合理最优的模式)。4.4 逻辑模式设计逻辑模式设计 2优化设计优化设计对模式进行调整和改善对模式进行调整和改善 所谓优化,就是从提高效率的角度出发,对模式结构作进一步的凋整和所谓优化,就是从提高效率的角度出发,对模式结构作进一步的凋整和改良。优化是在性能预测的基础上进行的,一般用三方

42、面指标来衡量:改良。优化是在性能预测的基础上进行的,一般用三方面指标来衡量: (1)单位时间内所访问的逻辑记录个数要少;)单位时间内所访问的逻辑记录个数要少;(2)单位时间内数据传送量要少;)单位时间内数据传送量要少;(3)系统占用的存储空间尽量要少。)系统占用的存储空间尽量要少。关系规范化理论和关系分解方法,为设计者进行优化设计提供了理关系规范化理论和关系分解方法,为设计者进行优化设计提供了理沦依据。最常用的优化方法就是通过对记录进行垂直或水平分解,沦依据。最常用的优化方法就是通过对记录进行垂直或水平分解,改善性能改善性能。4.4 逻辑模式设计逻辑模式设计 2优化设计优化设计对模式进行调整和

43、改善对模式进行调整和改善 【例例4-4】要查询学生信息时,经常按学生种类(大专生、本科生、研究要查询学生信息时,经常按学生种类(大专生、本科生、研究生)分类进行查询,为改善性能,使得单位时间内访问记录的个数尽量生)分类进行查询,为改善性能,使得单位时间内访问记录的个数尽量少,请给出一种分解方法。少,请给出一种分解方法。 原来的学生关系原来的学生关系 :学生(学号,姓名,身份证号,性别,出生日期,专业,学生(学号,姓名,身份证号,性别,出生日期,专业,年级,电话,备注,照片,班号)年级,电话,备注,照片,班号)分解后的关系集合分解后的关系集合 :大专生(学号,姓名,身份证号,性别,出生日期,专大

44、专生(学号,姓名,身份证号,性别,出生日期,专业,年级,电话,备注,照片,班号)业,年级,电话,备注,照片,班号) 本科生(本科生() 研究生(研究生() 4.5 数据库物理设计数据库物理设计 1概念概念 数据库最终是要存储在物理设备上的。为一个给定的逻辑数据模型选取数据库最终是要存储在物理设备上的。为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法)的过程,就是一个最适合应用环境的物理结构(存储结构与存取方法)的过程,就是数据库的物理设计。数据库物理设计的任务是使数据库的逻辑结构在物数据库的物理设计。数据库物理设计的任务是使数据库的逻辑结构在物理设备上得以实现,建立

45、起一个性能优良的数据库的物理结构。物理结理设备上得以实现,建立起一个性能优良的数据库的物理结构。物理结构依赖于给定的构依赖于给定的DBMS和硬件系统。和硬件系统。 2 步骤步骤(1)确定数据库的物理结构)确定数据库的物理结构 (2)对物理结构进行评价,评价的重点是时间和空间效率)对物理结构进行评价,评价的重点是时间和空间效率 4.5 数据库物理设计数据库物理设计 4.5.1 确定数据库的物理结构确定数据库的物理结构 确定数据库的物理结构,通常要做以下几个方面的工作:确定数据库的物理结构,通常要做以下几个方面的工作:(1)确定数据的存取方法;)确定数据的存取方法;(2)确定数据的存储结构;)确定

46、数据的存储结构;(3)确定数据的存放位置;)确定数据的存放位置;(4)确定系统配置。)确定系统配置。4.5 数据库物理设计数据库物理设计 4.5.1 确定数据库的物理结构确定数据库的物理结构 1确定存取方法确定存取方法 2确定数据的存储结构确定数据的存储结构 3确定数据的存储位置确定数据的存储位置 4确定系统配置确定系统配置 4.5 数据库物理设计数据库物理设计 4.5.2 对数据库物理结构的评价对数据库物理结构的评价 在数据库的物理设计过程中需要对时间效率、空间效率、维护代价和各在数据库的物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,设计出多个方案,数据库设计人员必

47、须对这些方种用户要求进行权衡,设计出多个方案,数据库设计人员必须对这些方案进行详细的分析,然后从中选择出一个较优的方案作为数据库的物理案进行详细的分析,然后从中选择出一个较优的方案作为数据库的物理结构。结构。 在对数据库的时间效率、空间效率、维护代价和各种用户要求进行权衡在对数据库的时间效率、空间效率、维护代价和各种用户要求进行权衡时,评价方法有很多。但每种评价方法都有其局限性,一般只能通过评时,评价方法有很多。但每种评价方法都有其局限性,一般只能通过评价方法比较出各种不同的物理设计方案的相对优劣。就目前的计算机技价方法比较出各种不同的物理设计方案的相对优劣。就目前的计算机技术而言,数据库的缓

48、冲区还是有限的,数据库系统的各种处理和操作几术而言,数据库的缓冲区还是有限的,数据库系统的各种处理和操作几乎都受限于乎都受限于I/O,即使是耗费时间较多的排序操作,即使是耗费时间较多的排序操作,I/O还是主要因素。还是主要因素。因此在各种评价方案中,一般都把因此在各种评价方案中,一般都把I/O的读写次数作为衡量方案优劣程度的读写次数作为衡量方案优劣程度的重要指标之一。的重要指标之一。评价物理数据库的方法完全依赖于所选用评价物理数据库的方法完全依赖于所选用DBMS,尽可能从多个方面来进行,尽可能从多个方面来进行估算,对估算结果进行权衡和比较,选择出一个较优的、合理的物理结构。估算,对估算结果进行

49、权衡和比较,选择出一个较优的、合理的物理结构。如果用户对该物理结构不满意,则需要修改设计,直到用户满意为止。如果用户对该物理结构不满意,则需要修改设计,直到用户满意为止。 4.6 数据库的实施数据库的实施 1.概念概念 根据逻辑设计和物理设计的结果,利用特定的根据逻辑设计和物理设计的结果,利用特定的DBMS在计算机系统在计算机系统上建立起实际数据库结构、装入数据、测试和试运行的过程称为数据库上建立起实际数据库结构、装入数据、测试和试运行的过程称为数据库的实施。的实施。(1)建立实际数据库结构。利用数据库管理系统或应用开发平台的数据库设)建立实际数据库结构。利用数据库管理系统或应用开发平台的数据

50、库设计工具设计出实际的数据库结构。计工具设计出实际的数据库结构。 2.工作工作 (2)装入试验数据对应用程序进行调试。试验数据可以是实际数据,也可由)装入试验数据对应用程序进行调试。试验数据可以是实际数据,也可由手工生成或用随机数发生器生成。应使测试数据尽可能覆盖现实世界的各种手工生成或用随机数发生器生成。应使测试数据尽可能覆盖现实世界的各种情况,利用测试数据对应用程序进行调试并对其性能进行初步测试。情况,利用测试数据对应用程序进行调试并对其性能进行初步测试。 4.6 数据库的实施数据库的实施 2.工作工作 (3)装入实际数据,进入试运行状态。应用程序测试完成后,并装入了实际)装入实际数据,进入试运行状态。应用程序测试完成后,并装入了实际数据,就可以进行数据库系统的试运行了。数据库系统的试运行也称为联合数据,就可以进行数据库系统的试运行了。数据库系统的试运行也称为联合调试,其主要工作包括两步。调试,其主要工作包括两步。 功能测试。即实际运行数据库应用程序,执行对数据库的各种操作,测试功能测试。即实际运行数据库应用程序,执行对数据库的各种操作,测

温馨提示

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

评论

0/150

提交评论