数据库系统及应用ch6-DB-design_第1页
数据库系统及应用ch6-DB-design_第2页
数据库系统及应用ch6-DB-design_第3页
数据库系统及应用ch6-DB-design_第4页
数据库系统及应用ch6-DB-design_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

第六章数据库设计1本章讲述从软件工程角度如何系统地剖析数据库设计的全过程。重点介绍数据库设计的基本方法和数据库设计的基本步骤,掌握如何从实际应用需求出发逐步构建以数据库为基础的应用管理系统的全过程。·

本章内容:数据库设计概述需求分析概念结构设计逻辑结构设计物理结构设计数据库的实施数据库的运行和维护6.1

数据库设计概述2数据库设计属于软件工程的范畴,面向一个使用数据库的应用系统,利用已有的DBMS,设计出有效、合理地数据库是数据库应用系统的主要内容。·

本节内容:什么是数据库设计数据库设计的特点数据库的设计方法数据库设计的基本步骤6.1

数据库设计概述3数据库设计是指在给定的应用环境下,构造最优的数据库逻辑结构和物理结构,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。数据库是信息系统的核心和基础把信息系统中大量的数据按一定的模型组织起来提供存储、维护、检索数据的功能

使信息系统可以方便、及时、准确地从数据库中获得所需的信息数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在数据库设计是信息系统开发和建设的重要组成部分6.1

数据库设计概述4评判数据库设计好坏的一般准则:完备性一致性规范性6.1.1数据库设计方法简述·

结构和行为分离的设计方法56.1.1数据库设计方法简述6将软件工程的思想和方法引入到数据库的设计之中,其基本思想采用过程迭代和逐步求精,分为以下几种方法:新奥尔良(New

Orleans)方法将数据库设计分为四个阶段:需求分析、概念设计、逻辑设计和物理设计。S.B.Yao方法将数据库设计分为五个步骤:需求分析、模式构成、模式汇总、模式重构、模式分析和物理数据库设计。I.R.Palmer方法把数据库设计当成一步接一步的过程,并采用一些辅助手段实现每一过程。阶段性设计方法E-R模型的数据库设计方法,基于3NF的设计方法,基于抽象语法规范的设计方法等。·

计算机辅助设计ORACLE Designer

2000、SYBASE

PowerDesigner等。6.1.2数据库设计的基本步骤7参照软件工程的思想,将数据库系统的生命周期(Lifecycle)划分为以下六个阶段:需求分析全面、准确了解用户的实际要求。概念结构设计设计数据库的概念结构,即通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。逻辑结构设计逻辑结构设计是将抽象的概念结构转换为所选用的

DBMS支持的数据模型,并对其进行优化。数据库物理设计数据库物理设计是对为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。6.1.2数据库设计的基本步骤8数据库实施在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。数据库运行和维护数据库应用系统经过试运行后即可投入正式运行。在数

据库系统运行过程中必须不断地对其进行评价、调整与修改。以上七个阶段构成了数据库系统的整个生命周期,直到该系统被新的系统所替代或消亡为止。严格地说,从第二阶段需求分析开始到第五阶段数据库的物理设计为数据库的设计阶段。从需求分析到数据库的运行和维护阶段都存在着反复,即当后一阶段发现问题,需要回溯到之前的某一阶段进行修改,再继续沿着这一过程向前进行。6.1.2数据库设计的基本步骤96.2需求分析10需求分析就是收集用户的各项业务活动及活动中所使用的数据,并由系统分析人员按照分析方法加以总结和提炼,正确地描述用户使用中的业务信息。·

本节内容需求分析的方法数据流图数据字典6.2需求分析11需求分析就是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,并在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。信息要求:用户需要从数据库中获得信息的内容与性质,由此导出数据要求,即在数据库中需要存储哪些数据。处理要求:用户对处理功能的要求,对处理的响应时间的要求,对处理方式的要求(批处理/联机处理)。安全性与完整性要求:数据自身的约束,数据之间的约束关系,以及数据的敏感分析,访问及数据数据的用户级别等。6.2.3

需求信息方法12调查系统的组织结构熟悉系统主要业务确定用户需求进行系统划分6.2.2数据流图数据流图表达系统中数据与处理的关系数据流图的基本元素包括:圆圈:表示一次处理过程有向线:表示数据流双线段:表示存储的信息136.2.3数据字典14·

数据字典数据字典是各类数据描述的集合,通常以表格的形式详细地描述业务处理过程中用到的各类数据。数据字典的内容包括数据项、数据结构、数据流、数据存储、处理过程等五部分。①数据项:数据项是数据的最小单位,对数据项的描述一般包括项名、含义说明、别名、类型、长度、取值范围及该项与其它项的逻辑关系。常以表格的形式给出。――――――――――――――――――――――――――――数据项:

职工号含义说明:唯一标识一个员工别名:类型:整型长度:字符型8取值范围:00000000~99999999取值含义:前四位表示工作年份,第5、6位表示所在部门,最后两位表示报到序号。如2003年参加工作,分在采购部(假定编号为02),第一位报到的职工编号为:20030201。――――――――――――――――――――――――――――6.2.3

需求信息的分析15②数据结构:数据结构是若干数据项的有意义的集合,通常代表某一具体的事物。包括数据结构名、含义、组成成份等。――――――――――――――――――――――――――――数据结构:含义说明:组成:会场定义了一个描述会场的信息结构会场编号,会场名称,会场地点,可容纳人数――――――――――――――――――――――――――――6.2.3

需求信息的分析16③数据流:数据流可以是数据项,也可以是数据结构,表示某一次处理的输入/输出数据。包括数据流名,说明,数据来源,数据去向,及需要的数据项或数据结构。――――――――――――――――――――――――――――数据流:说明:排会信息表示会议和会场的安排情况数据流来源:会议表、会场表数据流去向:会议安排表组成:平均流量:会议编号+会场编号100条/天高峰期流量:500条/天――――――――――――――――――――――――――――6.2.3

需求信息的分析17④数据存储:加工中需要存储的数据。包括数据存储名、说明、输入数据流、输出数据流、组成成份、数据量、存取方式、存取频度等。――――――――――――――――――――――――――――数据存储:说明:会议安排表记录会议和会场的安排情况流入数据流:会议信息,会场信息流出数据流:会场安排信息组成:

会议编号、会场编号、排会时间、会议开始时间、会议结束时间、会议应到人数数据量:存取方式:平均每年5000条随机存取――――――――――――――――――――――――――――6.2.3

需求信息的分析18⑤处理过程:加工处理过程定义和说明。包括处理名称、输入数据、输出数据、数据存储、响应时间等。――――――――――――――――――――――――――――处理过程:会议预约完成会议预约处理部门号,与会人数,开会日期,会议开始时间,会议说明:输入:结束时间输出:处理:会议预约信息首先判断会场是否能够满足与会人数要求,其次对会议预约进行处理,检测排会情况,判断是否能直接满足排会要求,如能直接满足则进入排会处理模块;如不能直接满足,则根据算法给出用户一个或多个推荐时间进行选择,选择通过后进入排会处理模块,处理时间不超过0.5秒。――――――――――――――――――――――――――――6.2需求分析19需求分析总结:需求分析的目的在于了解用户对新系统的要求,即用户需要新系统来做些什么;需求调查就是收集用户各项业务活动中所使用的各类数据的样本,以及了角用户各项业务处理的流程及其对数据的使用情况;需求信息的分析是分析人员根据收集的用户需求、业务处理流程及各类数据,进行分析处理,以数据流图和数据字典的方式加工整理,即以专业人员的语言来描述企业的数据及业务;需求分析的结果应能正确地描述企业现实信息,分析人员的分析结果应得到用户的认可,数据流图和数据字典被认为是分析人员和用户交流的语言;在此我们重点解决的是数据分析,只占整个系统分析的一部分,分析是设计的基础。6.3

概念结构设计20概念结构设计是信息世界的表述方式,即使用一种方法对现实世界进行抽象地描述,概念结构设计建立在需求分析阶段所得到的数据流图和数据字典的基础上,为计算机存储数据作准备。·

本节内容:概念结构设计方法视图设计视图集成EE-R模型6.3.1概念结构设计方法21概念结构设计就是将现实事物以不依赖于任何数据模型的方式加以描述,目的在于以符号化的形式正确地反映现实事物及事务与事物间的联系。概念结构设计的内容就是建立概念模型。对概念模型有如下要求:概念模型是对现实世界的抽象和概括,它应真实、充分地反映现实世界中的事务和事物之间的联系;概念模型应简洁、明晰、独立自于机器、容易理解,方便数据库设计人员与用户交换意见,合用户能积极参与数据库的设计;概念模型应易于变动。当应用环境和应用要求改变时,容易对概念模型修改和扩充;概念模型应容易向关系、层次或网状数据模型转换。描述概念模型的最常用方法是E-R图方法。6.3.1概念结构设计方法·

集中式模式设计法226.3.1概念结构设计方法·

视图集成法236.3.2视图设计24设计局部视图的步骤选择局部应用恰当选择各级数据流图中的某一层的某一部分业务,准备设计局部E-R图。通常就选择数据流图的中间级,这一级实体描述准确,实体间的联系也比较清晰,如需求分析阶段的采购业务流程图。设计分E-R图对于每一局部应用,其所用到的数据都应该收集在数据字典中了,依照该局部应用的数据流图,从数据字典中提取出数据,使用抽象机制,确定局部应用中的实体、实体的属性、实体标识符及实体间的联系及其类型。6.3.2视图设计针对会议考勤系统,介绍如何分析设计系统概念模型:256.3.2视图设计26每个实体的属性如下:会场(会场编号,会场名称,会场大小,会场地址,备注)部门(部门编号,部门名称,上级部门编号,联系电话,联系地址)员工(员工编号,姓名,性别,职称,职务,上级主管)会议(会议编号,会议议题,主办部门,与会人数,开会日期,开始时间,结束时间)6.3.3视图集成局部的E-R图又称为局部视图,将多个局部E-R图合并成一张完整的E-R图的过程称为视图集成。视图集成的方法:选择两个具有相同实体的E-R图,通过相同实体将两个E-R图连结起来构成一个E-R图,然后再与其它E-R图连结直到将所有的局部E-R图全部连结成一个E-R图,称为全局E-R图。合并:主要解决各局部E-R图之间的冲突,将各局部E-R图合并起来生成初步E-R图。修改和重构:主要是消去不必要的冗余,生成基本E-R图。276.3.3视图集成28

视图集成的作用:一方面可以完整地描述企业的信息及其联系,另一方面在集成过程中可以解决冲突和消除冗余。分E-R图之间的三类冲突:属性冲突:同一属性可能会存在于不同的分E-R图,由于设计人员不同或是出发点不同,对属性的类型、取值范围、数据单位等可能会不一致,这些属性对就的数据将来只能以

一种形式在计算机中存储,这就需要在设计阶段进行统一。命名冲突:相同意义的属性,在不同的分E-R图上有着不同的命名,或是名称相同的属性在不同的分E-R图中代表着不同的意义,这些也要进行统一。结构冲突:同一实体在不同的分E-R图中有不同的属性同一对象在某一分E-R图中被抽象为实体而在另一分E-R图中又被抽象为属性,需要统一。6.3.4

EE-R模型29

Teorey等人对E-R模型进行了适当扩充,提出了EE-R模型(Extend

Entity-Relationship

Model,简称扩充的模型)。EE-R模型保持了E-R模型简明清晰的特点,同时又弥补了

E-R模型的一些不足,成为目前一种较为流行的概念模型设计工具。实体集的可嵌套性实体集之间的可继承性EE-R图6.4

逻辑结构设计30逻辑结构设计是对数据在计算机中的组织形式的设计,即依照DBMS支持的数据模型,设计用户数据的组织形式(模式设

计)。同样,逻辑结构设计也是建立在概念结构设计的基础上,为下一步数据的存储设计(物理设计)作准备。·

本节内容:E-R图向关系模型的转换EE-R图向关系模型的转换数据模型的优化用户模式的设计6.4逻辑结构设计的任务和步骤31逻辑结构设计的任务概念结构是独立于任何一种数据模型的信息结构,是从设计者的角度和方法来分析问题。概念模型设计其实是一个理解过程,主要是让设计者能够清楚的认识系统的结构。具体选用的模型应该是规划阶段所确定的DBMS支持的模型,在现阶段无疑应该是关系模型。具体地讲,逻辑结构设计的任务就是将E-R图转换为关系模式。随后应该进行的工作是对关系模式的规范化和优化,以及面向应用程序设计的用户子模式设计。逻辑结构设计的步骤将概念结构转换为一般的关系、网状、层次模型或面向对象数据模型将转化来的数据模型向特定DBMS支持下的数据模型转化

(3)对数据模型进行优化。6.4逻辑结构设计的任务和步骤逻辑结构设计过程示意图:326.4.1

E-R图向关系模型的转换联系的转换一个1:1

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

关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的候选码:每个实体的码均是该关系的候选码·转换成如下关系模式:班级(班号,系别,班主任,入学时间班长(学号,姓名,性别,年龄)班级-班长(班号,学号,任期)注:严格地讲,如果一个班组在不同时期有不同的班长,应是1:n联系,此处只为举例。班级班级-班长班长111:1联系任期346.4.2

E-R图向关系模型的转换联系的转换一个1:1

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

合并后关系的属性:加入另一关系的码和联系本身的属性合并后关系的码:不变班级班级-班长班长111:1联系任期·转换成如下关系模式:班级(班号,系别,班主任,入学时间,班长学号,班长任期)班长(学号,姓名,性别,年龄) 或班级(班号,系别,班主任,入学时间)班长(学号,姓名,性别,年龄,班级,任期)356.4.1E-R图向关系模型的转换联系的转换一个1:n

联系可以转换为一个独立的关系模式,也可以与

n端对应的关系模式合并。①转换为一个独立的关系模式

关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的码:n端实体的码班级成员1n学生1:n联系转换成如下关系模式:班级(班号,系别,班主任,入学时间)学生(学号,姓名,性别,年龄)成员(学号,班号)366.4.1

E-R图向关系模型的转换联系的转换一个1:n

联系可以转换为一个独立的关系模式,也可以与

n端对应的关系模式合并。①转换为一个独立的关系模式②与n端对应的关系模式合并

合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性合并后关系的码:不变班级成员学生137n1:n联系·转换成如下关系模式:班级(班号,系别,班主任,入学时间)学生(学号,姓名,性别,年龄,班号) 注:实际使用中通常采用这种方法以减少关系模式,因为多一个关系模式就意味着查询过程中要进行连接运算,而降低查询的效率。6.4.1

E-R图向关系模型的转换联系的转换一个m:n联系转换为一个关系模式。

关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的码:各实体码的组合课程选修学生m:n联系mn成绩转换成如下关系模式:课程(课程号,课程名,学分,先修课号)学生(学号,姓名,性别,年龄)选修(学号,课程号,成绩)386.4.3关系模式的优化39现阶段由概念模型到数据模型的过程通常就是将E-R图转换为关系模式,而经过这一转换过程之后得到的一组关系模式未必是最“好”的,还需要经过进一步的优化。关系模式的优化应该从以下几方面实施:关系模式规范化规范化的目的在于解决更新异常和数据冗余,应该分解关系模式使其达到3NF或BCNF,对于存在MVD的关系模式应达到4NF。对关系模式进行必要的合并对具有关联的关系模式进行合并,通常这类关系模式会经常被查询而频繁地进行连接运算而降低查询的效率,合并后的关系模式可能会带来冗余(存在部分依赖或传递依赖),但这样做还是值得的。6.4.2

EE-R图向关系模型的转化·

嵌套的转化·

继承的转化406.4.3关系模式的优化41数据模型的优化方法一般包含以下步骤:确定数据依赖。根据需求分析中数据项之间的依赖关系,分别写出转化后关系与关系之间的依赖及关系内部属性之间的数据依赖。对关系模式之间的数据依赖进行极小化处理即消除冗余的联系。按照关系数据库基本理论对关系模型进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等对关系模式进行规范化处理。对关系模式进行必要的合并和分解,提高数据操作的效率和存储空间的利用率。常用的分解方法是水平分解和垂直分解6.4.4用户模式设计42用户模式即外模式,是面向不同用户的应用程序所访问的数据视图。为什么要引入外模式?实现数据的逻辑独立性使用更符合用户习惯的别名由于在视图集成阶段消除了同一实体的命名差异,但并不符合用户的使用习惯或约定成俗的称谓,如负责学籍管理的用户习惯于称教师模式的职工号为教师编号,而负责人事管理的用户则习惯于称为职工编号,因此可以定义面向学籍管理的视图,将职工号定义为别名“教师编号”。当然,在企业进行信息化的过程中应当积极推进标准化,并不能一味地迁就用户,而应该向标准化靠拢。定义外模式可以实现数据的安全性(参照视图优点一节)简化用户对系统的使用如果某些局部应用中经常要使用某些很复杂的查询,为了方便用户,可以将这些复杂查询定义为视图。6.4.4用户模式设计设计主要考虑以下几个方面尽量使用符合用户习惯的命名针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求简化用户对系统的使用436.4.5逻辑结构的生成和图示44逻辑结构设计总结:逻辑结构设计与拟使用的DBMS相关;逻辑结构设计首先应该将概念模型转换为指定DBMS所支持的数据模型的数据结构;对RDBMS而言,应将E-R图转换为关系模式;对关系模式进行规范化和优化,以实现系统的正确性,提高系统的性能;与数据库的逻辑结构设计同期进行的是应用系统的模块设计,应考虑不同模块所使用的数据的特点,对关系模式进行必要的分解,以提高各应用模块的执行效率;进行外模式设计也是为应用系统各模块而服务。6.5

数据库的物理设计45数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计。·

本节内容:索引设计聚簇存取方法的选择确定数据库的存储结构物理结构设计的评价6.5数据库物理结构设计46数据库物理设计的任务选择合适的存储结构和存储路径,也就是设计数据库的内模式(物理模式)。设计目标提高数据库的性能,主要是对用户应用性能的满足有效地利用存储空间6.5.1索引设计47创建索引原则主码和外码上一般都应创建索引,这有利于实施实体完整性和参照完整性。在检索参照完整性约束时,增删主码时,需要检查外码,若建立了索引可以加快这种查找。唯一索引保证索引列中的使用数据是唯一的,不含有重复值。因此,唯一索引一般创建在关系的主码上或候选码上。也就是说,只可在强制实体完整性的列上创建唯一索引。复合索引指定多个列为关键字值。当两个或多个列最适合作为搜索关键字时,则可以考虑创建复合索引。例如,在选课关系中,由学号和课程号组成的关键字上就适合创建复合索引。如果一个或多个列在连接操作中经常出现,则考虑在该列上创建索引在经常出现查询条件中的列上创建索引。6.5.2

聚簇存取方法的选择486.5.3确定数据库的存储结构49数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。确定数据库的存储结构主要是指确定数据的存放位置和结构,包括关系的确定、索引的选择、聚簇的使用、日志和备份的使用,还有系统配置的设定等6.5.3

温馨提示

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

评论

0/150

提交评论