已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2019年9月11日星期三,第5章 数据库设计,本章要点,数据库设计的内容和特点 数据库设计的步骤 需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库的实施和维护,2019年9月11日星期三,5.1 数据库设计概述,5.1.1 数据库设计内容 数据库设计包含两方面的内容:结构特性设计和行为特性设计。 结构特性设计是指根据给定的应用环境进行数据库模式或数据库结构的设计。 行为特性设计是指应用程序、事务处理的设计。 5.1.2数据库设计特点 数据库设计具有硬件、软件和管理界面相结合,结构设计和行为设计相结合的特点。,2019年9月11日星期三,5.2数据库设计步骤,数据库应用系统的开发是一项软件工程,开发过程应遵循软件工程的一般原则和方法。按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段: 需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库实施 数据库运行与维护,2019年9月11日星期三,1.需求分析阶段 进行数据库设计首先必须准确了解与分析用户需求,是整个设计过程的基础。 2.概念结构设计阶段 是整个数据库设计的关键,他通过对用户需求进行综合、归纳与抽象,形成一个独立于具体dbms得概念模型 3.逻辑结构设计阶段 将概念结构转换为某个dbms所支持的数据模型,并对其进行优化 4.数据库物理设计阶段 为逻辑数据模型选区一个最适合应用环境的物理结构 5.数据库实施阶段 根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行,2019年9月11日星期三,6.数据库运行和维护阶段 数据库应用系统经过试运行后即可投入到正式运行中,在数据库系统运行过程中必须不断地对其进行评价、调整与修改。 设计一个完善的系统是不可能一蹴而就的,他往往是上述六个阶段的不断反复,2019年9月11日星期三,5.2.1 需求分析,需求分析是数据库设计的第一阶段,在进行数据库设计时,首先必须准确了解与分析用户需求(包括数据与处理)。 (1)需求分析的任务 需求分析的任务是通过对现实世界要处理的对象(组织、部门、企业等)进行详细调查,在充分了解原系统(手工系统或计算机系统)运行概况的基础上,确定新系统的功能。 调查的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库的如下要求: 信息要求 指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。 处理要求 指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。 安全性与完整性要求,2019年9月11日星期三,(2)需求分析的步骤 需求分析可以按照以下三个步骤来进行: 需求收集 分析整理 评审 (3)需求分析的方法 为了准确的了解用户的实际要求,可以采用以下方法进行 需求调查:跟班作业、开调查会、请专人介绍、询问、设计调查表要用户填写和查阅记录。 在需求调查的过程中,往往需要用时采用上述多种方法相结合,并强调用户的积极参与与配合,才能取得良好的效果。 (4)需求分析的结果 结果以标准化文档的形式写出来,之后必须要提交给用户,征得用户的认可才行。需求分析的结果通常以需求说明、数据流图和数据字典等方式表达。,2019年9月11日星期三,数据流图(Data Flow Diagram:DFD) 也称为数据流程图,是便于用户理解的系统数据流程的图形表示,能精确地在逻辑上描述系统的功能、输入、输出和数据存储,表达了数据和处理的关系。 数据流图一般由以下元素组成: 数据流 :数据及其流动方向,直线上方标明数据流名称。 数据流的源点/终点 :数据流的源点和终点,方框内标明相应的名称。 处理 :数据处理,圆圈内标明处理名称。 文件 :文件和数据存储,在其内标明相应名称。 外部实体 :代表系统之外的信息提供者或使用者。,2019年9月11日星期三,数据流由一组确定的数据组成。数据流用带名字的箭头表示,名字表示流经的数据,箭头则表示流向。 处理是对数据进行的操作或加工。处理包括两方面的内容:一是变换数据的组成,即改变数据结构;二是在原有的数据内容基础上增加新的内容,形成新的数据。 文件是数据暂时存储或永久保存的地方。 外部实体指独立于系统而存在的,但又和系统有联系的实体。 数据字典(Data Dictionary) 数据字典是系统中各类数据描述的集合,它以特定的格式记录系统中的各种数据、数据元素以及它们的名字、性质、意义及各类约束条件,以及系统中用到的常量、变量、数组和其他数据单位的重要文档。 数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分:,2019年9月11日星期三,数据项 数据项是不可再分的数据单位。其描述格式通常为: 数据项描述=数据项名,数据项含义说明,别名,数据类 型,长度,取值范围,取值含义,与其它数据项的逻辑关系,数据项之间的联系 其中,“取值范围”和“与其它数据项的逻辑关系”(如该数据项与其它数据项的大小、相等关系,或等于其他几个数据项之和,之差等关系)定义了数据的完整性约束条件。 数据结构 数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项,或由若干个数据结构,或由若干个数据项和数据结构组成。其描述格式通常为: 数据结构描述=数据结构名,含义说明,组成:数据项或数据结构,2019年9月11日星期三,数据流 数据流是数据结构在系统内的传输路径。其描述格式通常为: 数据流描述=数据流名,说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量 其中“数据流来源”指该数据流来自哪个过程,“数据流去向”指该数据流将到哪个过程去,“平均流量”是指在单位时间(每天、每周、每月等)内的传输次数,“高峰期流量”是指在高峰时期的数据流量。 数据存储 数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。它可以是手工文档和凭证,也可以是计算机文档。其描述格式通常为: 数据存储描述=数据存储名,说明,编号,输入的数据流,输出的数据流,组成:数据结构,数据量,存取频度,存取方式 其中“存取频度”指每小时或每天或每周存取几次、每次存取多少数据等信息,“存取方式”包括批处理还是联机处理、检索还是更新、顺序检索还是随机检索等,“输入的数据流” 要指出数据来源,“输出数据流”要指出数据去向。,2019年9月11日星期三,处理过程 处理过程说明数据处理的逻辑关系,即输入与输出之间的逻辑关系。同时,也要说明数据处理的触发条件、错误处理等问题。其描述格式通常为: 处理过程描述=处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明 其中“简要说明”主要说明该处理过程的功能及处理要求,功能是指该处理过程用来做什么,处理要求处理频度(单位时间内处理多少数据量、多少事务等)要求,响应时间要求等。 5.2.2 概念结构设计 概念结构设计是对收集的信息和数据进行分析整理,确定实体、属性及联系。将各个用户的局部视图合并成一个全局视图,形成独立于计算机的反映用户观点的概念模型。,2019年9月11日星期三,(1)概念结构设计的目标和任务 概念结构设计的目标是产生反映系统信息需求的数据库概念结构,即概念模式。概念结构是独立于DBMS和使用的硬件环境的。在这一阶段,设计人员要从用户的角度看待数据以及数据处理的要求和约束,产生一个反映用户观点的概念模式,然后再把概念模式转换为逻辑模式。 描述概念结构的模型应具有以下几个特点: 有丰富的语义表达能力。 能表达用户的各种需求,准确地反映现实世界中各种数据及其复杂的联系以及用户对数据的处理要求等。 易于交流和理解。概念模型是设计人员和用户之间的主要交流工具,因此要容易和不熟悉计算机技术的用户交换意见。 易于修改。当应用环境和系统需求发生变化时,概念模型能灵活地进行修改和扩充,以适应用户需求和环境的变化。 易于向各种数据模型转换。设计概念模型的最终目的是向某种DBMS支持的数据模型转换,建立数据库应用系统,因此概念模型应该易于向关系、网状、层次等各种数据模型转换。,2019年9月11日星期三,概念模型的表示方法很多,其中最著名、最常用的表示方法为实体-联系方法,这种方法也称为E-R模型方法,该方法采用E-R图描述概念模型。E-R模型在前面已经介绍过了,这里不再赘述。 (2)概念结构设计的方法 设计概念结构通常有四类方法: 自顶向下:即首先定义全局概念结构的框架,然后逐步细化。 自底向上: 即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。 逐步扩张:首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。 混合策略: 即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。,2019年9月11日星期三,(3)概念结构设计的步骤 数据抽象与局部E-R模型的设计 数据抽象 概念结构是对现实世界的一种抽象,所谓抽象就是对实际的人、事、物和概念进行加工处理,抽取所关心的共同特性,用各种概念精确的加以描述,组成某种模型。 一般有三种抽象:分类、聚集和概括。 在需求分析中,已初步得到了有关各类实体、实体间的联系以及描述它们性质的数据元素,统称数据对象。 在这一阶段中,首先要从以上数据对象中确认出:系统有哪些实体?每个实体有哪些属性?哪些实体间存在联系?每一种联系有哪些属性?然后就可以做出系统的局部E-R模型和全局E-R模型。,2019年9月11日星期三,局部E-R模型设计 局部E-R模型设计是从数据流图出发确定实体和属性,并根据数据流图中表示的对数据的处理、确定实体之间的联系。 设计E-R模型应遵循以下三条原则: 相对原则 一致原则 简单原则 设计分E-R图的步骤是: 选择局部应用 在需求分析阶段,通过对应用环境和要求进行详尽的调查分析,用多层数据流图和数据字典描述了整个系统。 设计分E-R图的第一步,就是要根据系统的具体情况,在多层的数据流图中选择一个适当层次的(经验很重要)数据流图,让这组图中每一部分对应一个局部应用,我们即可以以这一层次的数据流图为出发点,设计分E-R图。 一般而言,中层的数据流图能较好地反映系统中各局部应用的子系统组成,因此人们往往以中层数据流图作为设计分E-R图的依据。,2019年9月11日星期三,逐一设计分E-R图 每个局部应用都对应了一组数据流图,局部应用涉及的数据都已经收集在数据字典中了。现在就是要将这些数据从数据字典中抽取出来,参照数据流图,标定局部应用中的实体;实体的属性、标识实体的码;确定实体之间的联系及其类型(1 :1、1 :n、m :n)。 标定局部应用中的实体 现实世界中一组具有某些共同特性和行为的对象就可以抽象为一个实体。对象和实体之间是“is member of”的关系。例如在学校环境中,可以把张平、卫红、王佳、孙立等对象抽象为学生实体。 对象类型的组成成分可以抽象为实体的属性。组成成分与对象类型之间是“is part of” 的关系。例如学号、姓名、专业、年级等可以抽象为学生实体的属性。其中学号为标识学生实体的码。,2019年9月11日星期三,实体的属性、标识实体的码 实际上实体与属性是相对而言的,很难有截然划分的界限。同一事物,在一种应用环境中作为“属性”,在另一种应用环境中就必须作为“实体”。一般说来,在给定的应用环境中: 属性不能再具有需要描述的性质。即属性必须是不可分的数据项。 属性不能与其他实体具有联系。联系只发生在实体之间。 确定实体之间的联系及其类型(1:1、 1:n、 m:n)。 根据需求分析,要考察实体之间是否存在联系,有无多余的联系。 总体E-R模型设计 各子系统的分ER模型设计好以后,下一步就是将各个局部E-R图加以综合,使同一个实体只出现一次,产生总的概念模型(总体E-R图)。一般说来,综合可以有两种方式:一种是多个分ER图一次集成;另一种是逐步集成,用累加的方式一次集成两个分ER图。,2019年9月11日星期三,第一种方式比较复杂,做起来难度较大;第二种方式每次只集成两个分ER图,可以降低复杂度。无论采用哪种方式,每次集成局部ER图时都需要分两步走:第一步合并,解决各分ER图之间的冲突,将各分ER图合并起来生成初步ER图;第二步修改和重构,消除不必要的冗余,生成基本ER图。 合并分ER图,生成初步ER图。 各分ER图之间的冲突主要有三类:属性冲突、命名冲突和结构冲突。,2019年9月11日星期三,属性冲突 属性域冲突,即属性值的类型、取值范围或取值集合不同。例如:属性“学号”有的定义为字符型,有的为数值型。 属性取值单位冲突。 例如:属性“身高”有的以厘米为单位,有的以米为单位。 命名冲突 包括实体名、联系名、属性名之间异名同义,或同名异义等。例如“成绩”和“分数”属于异名同义。 结构冲突 同一对象在不同应用中具有不同的抽象。例如“课程”在某一局部应用中被当作实体,而在另一局部应用中则被当作属性。 同一实体在不同局部视图中所包含的属性同,或者属性的排列次序不完全相同。,2019年9月11日星期三,修改与重构,生成总体E-R图 分E-R图经过合并生成的是初步E-R图。初步E-R图中可能存在冗余的数据和冗余的实体间联系,即存在可由基本数据导出的数据和可由其他联系导出的联系。 评审 概念结构设计的最后一步是把全局概念模式提交评审。评审可分为用户评审和DBA及设计人员评审两部分。用户评审的重点是确认全局概念模式是否准确完整地反映了用户的信息需求,以及现实世界事务的属性间的固有联系;DBA和设计人员的评审则侧重于确认全局概念模式是否完整,属性和实体的划分是否合理,是否存在冲突,以及各种文档是否齐全等。 (4)概念设计的结果 本阶段设计所得的结果为以下文档: 系统各子部门的局部概念结构描述; 系统全局概念结构描述; 修改后的数据字典; 概念模型应具有的业务规则。,2019年9月11日星期三,5.2.3 逻辑结构设计,(1)逻辑结构设计的目标和任务 逻辑结构设计的目标就是把概念结构设计阶段设计好的基本E-R图转换为特定的DBMS所支持的数据模型,包括数据库模式和外模式,并对其进行优化。 本阶段的主要任务有: 将E-R模型转换为等价的关系模式; 按需要对关系模式进行规范化; 对规范化后的模式进行评价; 根据局部应用的需要,设计用户外模式。 (2)逻辑结构设计的方法和步骤 逻辑设计阶段一般分四个过程进行: 将概念结构转换为一般的关系、网状、层次模型;将由概念结构转换来的模型向所选用DBMS支持的数据模型转换; 对数据模型进行优化;对数据模型进行评价和修正;设计外模式。,2019年9月11日星期三,E-R图向关系模型的转换 E-R图向关系模型转换要解决的问题是如何将实体和实体间的联系转换为关系模式,以及如何确定这些关系模式的属性和码。 关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体、实体的属性和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式,这种转换一般遵循如下原则: 一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。 一个11联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。,2019年9月11日星期三, 一个1n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个mn联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 具有相同码的关系模式可合并。,2019年9月11日星期三,数据模型的优化 数据库逻辑设计的结果不是惟一的。为了进一步提高数据库应用系统的性能,还应该根据应用需要适当地修改、调整数据模型的结构,这就是数据模型的优化。关系数据模型的优化通常以规范化理论为指导,具体方法为 确定数据依赖。 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖等,确定各关系模式分别属于第几范式。 按照需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否要对某些模式进行合并或分解。 对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。常用的两种分解方法是水平分解和垂直分解。,2019年9月11日星期三,模式评价 模式评价可检查规范化后的关系模式,是否满足用户的各种功能要求和性能要求,并确认需要修正的模式部分。 功能评价 关系模式中,必须包含用户可能访问的所有属性。根据需求分析和概念结构设计文档,如果发现用户的某些应用不被支持,则应进行模式修正。 性能评价 主要用于估算数据库操纵的逻辑记录传送量及数据的存储空间,对数据库模式的性能评价是比较困难的,因为缺乏相应的评价手段。,2019年9月11日星期三,逻辑模式的修正 修正逻辑模式的目的是改善数据库性能、节省存储空间。除了性能评价提出的模式修正意见外,还可以考虑以下几个方面: 尽量减少连接运算 减小关系的大小和数据量 选择属性的数据类型 设计用户外模式 外模式也叫子模式,是用户可直接访问的数据模式。在设计外模式时,可以参照局部E-R模型。,2019年9月11日星期三,5.2.4 物理结构设计 数据库的物理结构指数据库在物理设备上的存储结构与存取方法 5.2.4.1 物理设计的内容和方法 (1)存储结构的设计 确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置。 确定数据的存放位置和存储结构要综合考虑存取时间、存储空间利用率和维护代价三方面的因素。这三个方面常常是相互矛盾的,因此需要进行权衡,选择一个折中方案。,2019年9月11日星期三,(2)存取方法的设计 存取方法是为存储在物理设备上的数据提供存储和检索的能力。它包括存储结构和检索机制两部分。 索引是数据库中一种非常重要的数据存取路径,在存取方法设计中要确定建立何种索引,以及在哪些表和属性上建立索引。通常情况下,对数据量很大,又需要做频繁查询的表建立索引,并且选择将索引建立在经常用做查询条件的属性或属性组,以及经常用做连接属性的属性或属性组上。,2019年9月11日星期三,5.2.4.2 物理设计的评价 数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案,数据库设计人员必须对这些方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。 评价物理数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。如果该结构不符合用户需求,则需要修改设计。 物理设计的结果是物理设计说明书,包括存储记录格式、存储记录位置分布及存取方法,并给出对硬件和软件系统的约束。,2019年9月11日星期三,5.2.5 数据库的实施和维护 (1)数据库的实施 数据库实施阶段包含两项重要的工作,一项是数据的载入,另一项是应用程序的编码。 这一阶段主要完成的工作有: 建立实际的数据库结构 在定义数据库结构时,应包含以下内容: 数据库模式与子模式,以及数据库空间等的描述 模式与子模式的描述主要是对表和视图的定义,其中应包括索引的定义。索引在具体的DBMS中有聚簇与非聚簇索引
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年杭州客车驾驶员从业资格证考试题库答案
- 2024年哈尔滨客运资格证应用能力考试内容是什么
- 2021年广东省公务员录用考试《行测》题(乡镇卷)【原卷版】
- 人教版八年级物理下册分层训练:简单机械(B卷解析版)
- 吉首大学《公共工程项目管理》2021-2022学年第一学期期末试卷
- 吉首大学《三维图像设计与制作》2021-2022学年第一学期期末试卷
- 吉林艺术学院《素描人体》2021-2022学年第一学期期末试卷
- 邯郸房产分割协议书范文
- 2024年公寓足疗转让协议书模板
- 吉林师范大学《遥感软件应用》2021-2022学年第一学期期末试卷
- 着色牙-四环素牙(口腔科课件)
- 生物实验报告高一上学期生物人教版必修1
- 小学思想政治-圆明园的毁灭教学设计学情分析教材分析课后反思
- 医院医务科科长岗位竞聘答辩PPT课件(带内容)
- 年产5亿粒胶囊生产车间工艺设计
- 《工业机器人应用与维护》专业人才培养方案
- 县委统战部部务会议事规则
- 西方近现代建筑史知到章节答案智慧树2023年天津大学
- 《无人机组装与调试》第3章 无人机装配工艺
- 【基于杜邦分析法的企业盈利能力研究国内外文献综述4000字】
- 常见上市公司名称证券名称中英对照表
评论
0/150
提交评论