数据库第5章数据库设计.ppt

上传人:tian****1990 文档编号:11536483 上传时间:2020-04-27 格式:PPT 页数:34 大小:317.50KB
返回 下载 相关 举报
数据库第5章数据库设计.ppt_第1页
第1页 / 共34页
数据库第5章数据库设计.ppt_第2页
第2页 / 共34页
数据库第5章数据库设计.ppt_第3页
第3页 / 共34页
点击查看更多>>
资源描述
2020年4月27日星期一,第5章数据库设计,本章要点,数据库设计的内容和特点数据库设计的步骤需求分析概念结构设计逻辑结构设计物理结构设计数据库的实施和维护,2020年4月27日星期一,5.1数据库设计概述,5.1.1数据库设计内容数据库设计包含两方面的内容:结构特性设计和行为特性设计。结构特性设计是指根据给定的应用环境进行数据库模式或数据库结构的设计。行为特性设计是指应用程序、事务处理的设计。5.1.2数据库设计特点数据库设计具有硬件、软件和管理界面相结合,结构设计和行为设计相结合的特点。,2020年4月27日星期一,5.2数据库设计步骤,数据库应用系统的开发是一项软件工程,开发过程应遵循软件工程的一般原则和方法。按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段:需求分析概念结构设计逻辑结构设计物理结构设计数据库实施数据库运行与维护,2020年4月27日星期一,1.需求分析阶段进行数据库设计首先必须准确了解与分析用户需求,是整个设计过程的基础。2.概念结构设计阶段是整个数据库设计的关键,他通过对用户需求进行综合、归纳与抽象,形成一个独立于具体dbms得概念模型3.逻辑结构设计阶段将概念结构转换为某个dbms所支持的数据模型,并对其进行优化4.数据库物理设计阶段为逻辑数据模型选区一个最适合应用环境的物理结构5.数据库实施阶段根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行,2020年4月27日星期一,6.数据库运行和维护阶段数据库应用系统经过试运行后即可投入到正式运行中,在数据库系统运行过程中必须不断地对其进行评价、调整与修改。设计一个完善的系统是不可能一蹴而就的,他往往是上述六个阶段的不断反复,2020年4月27日星期一,5.2.1需求分析,需求分析是数据库设计的第一阶段,在进行数据库设计时,首先必须准确了解与分析用户需求(包括数据与处理)。(1)需求分析的任务需求分析的任务是通过对现实世界要处理的对象(组织、部门、企业等)进行详细调查,在充分了解原系统(手工系统或计算机系统)运行概况的基础上,确定新系统的功能。调查的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库的如下要求:信息要求指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。处理要求指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。安全性与完整性要求,2020年4月27日星期一,(2)需求分析的步骤需求分析可以按照以下三个步骤来进行:需求收集分析整理评审(3)需求分析的方法为了准确的了解用户的实际要求,可以采用以下方法进行需求调查:跟班作业、开调查会、请专人介绍、询问、设计调查表要用户填写和查阅记录。在需求调查的过程中,往往需要用时采用上述多种方法相结合,并强调用户的积极参与与配合,才能取得良好的效果。(4)需求分析的结果结果以标准化文档的形式写出来,之后必须要提交给用户,征得用户的认可才行。需求分析的结果通常以需求说明、数据流图和数据字典等方式表达。,2020年4月27日星期一,数据流图(DataFlowDiagram:DFD)也称为数据流程图,是便于用户理解的系统数据流程的图形表示,能精确地在逻辑上描述系统的功能、输入、输出和数据存储,表达了数据和处理的关系。数据流图一般由以下元素组成:数据流:数据及其流动方向,直线上方标明数据流名称。数据流的源点/终点:数据流的源点和终点,方框内标明相应的名称。处理:数据处理,圆圈内标明处理名称。文件:文件和数据存储,在其内标明相应名称。外部实体:代表系统之外的信息提供者或使用者。,2020年4月27日星期一,数据流由一组确定的数据组成。数据流用带名字的箭头表示,名字表示流经的数据,箭头则表示流向。处理是对数据进行的操作或加工。处理包括两方面的内容:一是变换数据的组成,即改变数据结构;二是在原有的数据内容基础上增加新的内容,形成新的数据。文件是数据暂时存储或永久保存的地方。外部实体指独立于系统而存在的,但又和系统有联系的实体。数据字典(DataDictionary)数据字典是系统中各类数据描述的集合,它以特定的格式记录系统中的各种数据、数据元素以及它们的名字、性质、意义及各类约束条件,以及系统中用到的常量、变量、数组和其他数据单位的重要文档。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分:,2020年4月27日星期一,数据项数据项是不可再分的数据单位。其描述格式通常为:数据项描述=数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其它数据项的逻辑关系,数据项之间的联系其中,“取值范围”和“与其它数据项的逻辑关系”(如该数据项与其它数据项的大小、相等关系,或等于其他几个数据项之和,之差等关系)定义了数据的完整性约束条件。数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项,或由若干个数据结构,或由若干个数据项和数据结构组成。其描述格式通常为:数据结构描述=数据结构名,含义说明,组成:数据项或数据结构,2020年4月27日星期一,数据流数据流是数据结构在系统内的传输路径。其描述格式通常为:数据流描述=数据流名,说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量其中“数据流来源”指该数据流来自哪个过程,“数据流去向”指该数据流将到哪个过程去,“平均流量”是指在单位时间(每天、每周、每月等)内的传输次数,“高峰期流量”是指在高峰时期的数据流量。数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。它可以是手工文档和凭证,也可以是计算机文档。其描述格式通常为:数据存储描述=数据存储名,说明,编号,输入的数据流,输出的数据流,组成:数据结构,数据量,存取频度,存取方式其中“存取频度”指每小时或每天或每周存取几次、每次存取多少数据等信息,“存取方式”包括批处理还是联机处理、检索还是更新、顺序检索还是随机检索等,“输入的数据流”要指出数据来源,“输出数据流”要指出数据去向。,2020年4月27日星期一,处理过程处理过程说明数据处理的逻辑关系,即输入与输出之间的逻辑关系。同时,也要说明数据处理的触发条件、错误处理等问题。其描述格式通常为:处理过程描述=处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明其中“简要说明”主要说明该处理过程的功能及处理要求,功能是指该处理过程用来做什么,处理要求处理频度(单位时间内处理多少数据量、多少事务等)要求,响应时间要求等。5.2.2概念结构设计概念结构设计是对收集的信息和数据进行分析整理,确定实体、属性及联系。将各个用户的局部视图合并成一个全局视图,形成独立于计算机的反映用户观点的概念模型。,2020年4月27日星期一,(1)概念结构设计的目标和任务概念结构设计的目标是产生反映系统信息需求的数据库概念结构,即概念模式。概念结构是独立于DBMS和使用的硬件环境的。在这一阶段,设计人员要从用户的角度看待数据以及数据处理的要求和约束,产生一个反映用户观点的概念模式,然后再把概念模式转换为逻辑模式。描述概念结构的模型应具有以下几个特点:有丰富的语义表达能力。能表达用户的各种需求,准确地反映现实世界中各种数据及其复杂的联系以及用户对数据的处理要求等。易于交流和理解。概念模型是设计人员和用户之间的主要交流工具,因此要容易和不熟悉计算机技术的用户交换意见。易于修改。当应用环境和系统需求发生变化时,概念模型能灵活地进行修改和扩充,以适应用户需求和环境的变化。易于向各种数据模型转换。设计概念模型的最终目的是向某种DBMS支持的数据模型转换,建立数据库应用系统,因此概念模型应该易于向关系、网状、层次等各种数据模型转换。,2020年4月27日星期一,概念模型的表示方法很多,其中最著名、最常用的表示方法为实体-联系方法,这种方法也称为E-R模型方法,该方法采用E-R图描述概念模型。E-R模型在前面已经介绍过了,这里不再赘述。(2)概念结构设计的方法设计概念结构通常有四类方法:自顶向下:即首先定义全局概念结构的框架,然后逐步细化。自底向上:即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。逐步扩张:首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。混合策略:即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。,2020年4月27日星期一,(3)概念结构设计的步骤数据抽象与局部E-R模型的设计数据抽象概念结构是对现实世界的一种抽象,所谓抽象就是对实际的人、事、物和概念进行加工处理,抽取所关心的共同特性,用各种概念精确的加以描述,组成某种模型。一般有三种抽象:分类、聚集和概括。在需求分析中,已初步得到了有关各类实体、实体间的联系以及描述它们性质的数据元素,统称数据对象。在这一阶段中,首先要从以上数据对象中确认出:系统有哪些实体?每个实体有哪些属性?哪些实体间存在联系?每一种联系有哪些属性?然后就可以做出系统的局部E-R模型和全局E-R模型。,2020年4月27日星期一,局部E-R模型设计局部E-R模型设计是从数据流图出发确定实体和属性,并根据数据流图中表示的对数据的处理、确定实体之间的联系。设计E-R模型应遵循以下三条原则:相对原则一致原则简单原则设计分E-R图的步骤是:选择局部应用在需求分析阶段,通过对应用环境和要求进行详尽的调查分析,用多层数据流图和数据字典描述了整个系统。设计分E-R图的第一步,就是要根据系统的具体情况,在多层的数据流图中选择一个适当层次的(经验很重要)数据流图,让这组图中每一部分对应一个局部应用,我们即可以以这一层次的数据流图为出发点,设计分E-R图。一般而言,中层的数据流图能较好地反映系统中各局部应用的子系统组成,因此人们往往以中层数据流图作为设计分E-R图的依据。,2020年4月27日星期一,逐一设计分E-R图每个局部应用都对应了一组数据流图,局部应用涉及的数据都已经收集在数据字典中了。现在就是要将这些数据从数据字典中抽取出来,参照数据流图,标定局部应用中的实体;实体的属性、标识实体的码;确定实体之间的联系及其类型(1:1、1:n、m:n)。标定局部应用中的实体现实世界中一组具有某些共同特性和行为的对象就可以抽象为一个实体。对象和实体之间是“ismemberof”的关系。例如在学校环境中,可以把张平、卫红、王佳、孙立等对象抽象为学生实体。对象类型的组成成分可以抽象为实体的属性。组成成分与对象类型之间是“ispartof”的关系。例如学号、姓名、专业、年级等可以抽象为学生实体的属性。其中学号为标识学生实体的码。,2020年4月27日星期一,实体的属性、标识实体的码实际上实体与属性是相对而言的,很难有截然划分的界限。同一事物,在一种应用环境中作为“属性”,在另一种应用环境中就必须作为“实体”。一般说来,在给定的应用环境中:属性不能再具有需要描述的性质。即属性必须是不可分的数据项。属性不能与其他实体具有联系。联系只发生在实体之间。确定实体之间的联系及其类型(1:1、1:n、m:n)。根据需求分析,要考察实体之间是否存在联系,有无多余的联系。总体E-R模型设计各子系统的分ER模型设计好以后,下一步就是将各个局部E-R图加以综合,使同一个实体只出现一次,产生总的概念模型(总体E-R图)。一般说来,综合可以有两种方式:一种是多个分ER图一次集成;另一种是逐步集成,用累加的方式一次集成两个分ER图。,2020年4月27日星期一,第一种方式比较复杂,做起来难度较大;第二种方式每次只集成两个分ER图,可以降低复杂度。无论采用哪种方式,每次集成局部ER图时都需要分两步走:第一步合并,解决各分ER图之间的冲突,将各分ER图合并起来生成初步ER图;第二步修改和重构,消除不必要的冗余,生成基本ER图。合并分ER图,生成初步ER图。各分ER图之间的冲突主要有三类:属性冲突、命名冲突和结构冲突。,2020年4月27日星期一,属性冲突属性域冲突,即属性值的类型、取值范围或取值集合不同。例如:属性“学号”有的定义为字符型,有的为数值型。属性取值单位冲突。例如:属性“身高”有的以厘米为单位,有的以米为单位。命名冲突包括实体名、联系名、属性名之间异名同义,或同名异义等。例如“成绩”和“分数”属于异名同义。结构冲突同一对象在不同应用中具有不同的抽象。例如“课程”在某一局部应用中被当作实体,而在另一局部应用中则被当作属性。同一实体在不同局部视图中所包含的属性同,或者属性的排列次序不完全相同。,2020年4月27日星期一,修改与重构,生成总体E-R图分E-R图经过合并生成的是初步E-R图。初步E-R图中可能存在冗余的数据和冗余的实体间联系,即存在可由基本数据导出的数据和可由其他联系导出的联系。评审概念结构设计的最后一步是把全局概念模式提交评审。评审可分为用户评审和DBA及设计人员评审两部分。用户评审的重点是确认全局概念模式是否准确完整地反映了用户的信息需求,以及现实世界事务的属性间的固有联系;DBA和设计人员的评审则侧重于确认全局概念模式是否完整,属性和实体的划分是否合理,是否存在冲突,以及各种文档是否齐全等。(4)概念设计的结果本阶段设计所得的结果为以下文档:系统各子部门的局部概念结构描述;系统全局概念结构描述;修改后的数据字典;概念模型应具有的业务规则。,2020年4月27日星期一,5.2.3逻辑结构设计,(1)逻辑结构设计的目标和任务逻辑结构设计的目标就是把概念结构设计阶段设计好的基本E-R图转换为特定的DBMS所支持的数据模型,包括数据库模式和外模式,并对其进行优化。本阶段的主要任务有:将E-R模型转换为等价的关系模式;按需要对关系模式进行规范化;对规范化后的模式进行评价;根据局部应用的需要,设计用户外模式。(2)逻辑结构设计的方法和步骤逻辑设计阶段一般分四个过程进行:将概念结构转换为一般的关系、网状、层次模型;将由概念结构转换来的模型向所选用DBMS支持的数据模型转换;对数据模型进行优化;对数据模型进行评价和修正;设计外模式。,2020年4月27日星期一,E-R图向关系模型的转换E-R图向关系模型转换要解决的问题是如何将实体和实体间的联系转换为关系模式,以及如何确定这些关系模式的属性和码。关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体、实体的属性和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。一个11联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。,2020年4月27日星期一,一个1n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。一个mn联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。具有相同码的关系模式可合并。,2020年4月27日星期一,数据模型的优化数据库逻辑设计的结果不是惟一的。为了进一步提高数据库应用系统的性能,还应该根据应用需要适当地修改、调整数据模型的结构,这就是数据模型的优化。关系数据模型的优化通常以规范化理论为指导,具体方法为确定数据依赖。对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖等,确定各关系模式分别属于第几范式。按照需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否要对某些模式进行合并或分解。对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。常用的两种分解方法是水平分解和垂直分解。,2020年4月27日星期一,模式评价模式评价可检查规范化后的关系模式,是否满足用户的各种功能要求和性能要求,并确认需要修正的模式部分。功能评价关系模式中,必须包含用户可能访问的所有属性。根据需求分析和概念结构设计文档,如果发现用户的某些应用不被支持,则应进行模式修正。性能评价主要用于估算数据库操纵的逻辑记录传送量及数据的存储空间,对数据库模式的性能评价是比较困难的,因为缺乏相应的评价手段。,2020年4月27日星期一,逻辑模式的修正修正逻辑模式的目的是改善数据库性能、节省存储空间。除了性能评价提出的模式修正意见外,还可以考虑以下几个方面:尽量减少连接运算减小关系的大小和数据量选择属性的数据类型设计用户外模式外模式也叫子模式,是用户可直接访问的数据模式。在设计外模式时,可以参照局部E-R模型。,2020年4月27日星期一,5.2.4物理结构设计数据库的物理结构指数据库在物理设备上的存储结构与存取方法5.2.4.1物理设计的内容和方法(1)存储结构的设计确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置。确定数据的存放位置和存储结构要综合考虑存取时间、存储空间利用率和维护代价三方面的因素。这三个方面常常是相互矛盾的,因此需要进行权衡,选择一个折中方案。,2020年4月27日星期一,(2)存取方法的设计存取方法是为存储在物理设备上的数据提供存储和检索的能力。它包括存储结构和检索机制两部分。索引是数据库中一种非常重要的数据存取路径,在存取方法设计中要确定建立何种索引,以及在哪些表和属性上建立索引。通常情况下,对数据量很大,又需要做频繁查询的表建立索引,并且选择将索引建立在经常用做查询条件的属性或属性组,以及经常用做连接属性的属性或属性组上。,2020年4月27日星期一,5.2.4.2物理设计的评价数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案,数据库设计人员必须对这些方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。评价物理数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。如果该结构不符合用户需求,则需要修改设计。物理设计的结果是物理设计说明书,包括存储记录格式、存储记录位置分布及存取方法,并给出对硬件和软件系统的约束。,2020年4月27日星期一,5.2.5数据库的实施和维护(1)数据库的实施数据库实施阶段包含两项重要的工作,一项是数据的载入,另一项是应用程序的编码。这一阶段主要完成的工作有:建立实际的数据库结构在定义数据库结构时,应包含以下内容:数据库模式与子模式,以及数据库空间等的描述模式与子模式的描述主要是对表和视图的定义,其中应包括索引的定义。索引在具体的DBMS中有聚簇与非聚簇索引之分。使用不同的DBMS,对数据库空间描述的也有差别,如在SQLServer2000中,数据库空间描述可以包括定义数据库的大小、自动增长的比例以及数据文件、日志文件的存放位置。,2020年4月27日星期一,数据库完整性描述在数据库设计时如果没有一定的措施确保数据库中数据的完整性,就无法从数据库中获得可信的数据。在模式与子模式实现中,完整性描述主要包括以下几种:对列的约束,包括列的数据类型、列值的约束。对表的约束。多个表之间的数据一致性,主要是外键的定义。对复杂的业务规则的约束。数据库安全性描述子模式是实现安全性要求的一个重要手段。可以为不同的应用设计不同的子模式。在数据操纵上,系统可以对用户的数据操纵进行两方面的控制:一是给合法用户授权,目前主要有身份验证和口令识别;二是给合法用户不同的存取权限。数据库物理存储参数描述物理存储参数因DBMS的不同而不同。一般可设置以下参数:块大小、页面大小(字节数或块数)、数据库的页面数、缓冲区个数、缓冲区大小、用户数等。,2020年4月27日星期一,数据加载数据库应用程序的设计应该与数据库设计同时进行。数据加载前,要建立严格的数据登录、录入和校验规范,设计完善的数据校验与校正程序,排除不合格数据。数据加载分为手工录入和使用数据转换工具两种。数据库应用程序的设计应该与数据库设计同时进行,因此在组织数据入库的同时还要调试应用程序。(2)数据库的试运行这一阶段要实际运行数据库应用程序,一方面执行对数据库的各种操作,测试应用程序的功能是否满足设计要求。如果不满足,则要对应用程序部分进行修改、调试,直到达到设计要求为止。另一方面,在数据库试运行时,还要测试系统的性能指标,分析其是否达到设计目标,是否为用户所容忍。如果测试的结果与设计目标不符,则要返回物理设计阶段,重新调整物理结构,修改系统参数。某些情况下甚至要返回逻辑设计阶段,修改逻辑结构。,2020年4月27日星期一,(3)数据库的运行和维护在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,它包括:对数据库性能的监测和改善数据库的转储和恢复数据库的安全性、完整性控制数据库的重组织与重构造,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!