关系数据库设计.ppt_第1页
关系数据库设计.ppt_第2页
关系数据库设计.ppt_第3页
关系数据库设计.ppt_第4页
关系数据库设计.ppt_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

数据库设计概述:设计方法和步骤 数据库设计的需求分析 数据库概念设计 数据库逻辑设计 数据库物理设计 数据库实施 数据库运行与维护,第5章 关系数据库设计,5.1数据库设计概述,数据库设计是信息系统开发和建设的重要组成部分。数据库设计是指为一个给定的应用环境建立数据库的过程,其设计目标是要建立一个能正确反映给定的信息应用需求,能被某个现有的DBMS所接受并能使系统具有较好性能的关系数据模型。,数据库设计方法 数据库设计步骤,5.1.1数据库设计方法,1直观设计法 直观设计法也叫手工试凑法,早期用于设计一些小型系统的数据库设计。依赖于设计者的经验和技巧,缺乏科学理论和工程方法的支持,不适应信息管理发展的需要。 2规范设计法 规范设计法是运用软件工程的思想和方法,以各种设计准则和规程,进行数据库设计的方法。规范设计法从本质上来说仍然是手工设计方法,其基本思想是过程迭代和逐步求精。 新奥尔良(New Orleans)方法是规范设计法中比较著名的一种方法。它将数据库设计分为四个阶段:需求分析、概念设计、逻辑设计和物理设计。后经改进,分为六个阶段:数据库需求分析、数据库概念设计、数据库逻辑设计、数据库物理设计、数据库实施和数据库运行与维护。,常用规范方法: 1) 基于E-R模型的数据库概念设计。其基本思想是在需求分析的基础上,用E-R图来构造一个反映现实世界实体之间联系的信息模式,它是数据库概念设计阶段广泛采用的方法。 2) 基于3NF(第三范式)的数据库逻辑设计。该方法是结构化设计方法,其基本思想是在需求分析的基础上,确定数据库模式中的全部属性和属性间的依赖关系,将它们组织在一个单一的关系模式中,然后再分析模式中不符合3NF的约束条件,将其进行投影分解,规范成若干个3NF关系模式的集合。它是关系数据库设计中逻辑阶段可以采用的一种有效方法。 3) 基于视图的数据库设计方法。先从分析各个应用的数据着手,其基本思想是为每个应用建立自己的视图,然后再把这些视图汇总起来合并成整个数据库的概念模式。,3.计算机辅助设计方法 是利用一些专门的CASE软件工具来支持数据库设计过程。数据库自动化设计法是指数据库设计整个过程完全由计算机完成。常用软件:,数据库设计的特点,1)反复性:数据库设计不可能一气呵成,需要反复推敲和修改才能完成。 2)试探性:与解决一般问题不同,数据库设计的结果经常不是唯一的,所以设计的过程通常是一个试探的过程。数据库的设计结果很难达到非常满意的效果,常常为了达到某些方面的优化而降低另一方面的性能。 3)分步进行:数据库设计常常由不同的人员分阶段进行。为使整个数据库的设计变得条理清晰、目的明确,必须在每一步分段把关,逐级审查,保证数据库设计的质量和进度。,5.1.2数据库设计步骤,前四个步骤为数据库系统的分析与设计;后两个步骤为数据库系统的实施、运行与维护。 1)需求分析:了解和分析用户的应用需求(包括信息需求和处理需求),进行需求收集和分析,并以数据流图、数据字典等形式加以描述。 2)概念设计:把需求分析阶段得到的用户需求进行综合、归纳和抽象,形成一个独立于具体DBMS的概念数据模型。 3)逻辑设计:按照一组转换规则,将概念设计阶段产生的概念模型转换为某个DBMS支持的逻辑数据模型。 4)物理设计:是为逻辑模型选取一个最适合应用环境的物理结构(包括存取结构和存取方法)。 5)数据库实施:设计人员运用DBMS提供的数据库语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 6)数据库运行与维护:数据库试运行后,即可投入正式运行。数据库在运行期间应不断地对其进行评价、调整与修改。,5.2数据库设计的需求分析,目标:给出应用领域中数据项、数据项之间的关系和数据操作任务的详细定义,为数据库系统的概念设计、逻辑设计和物理设计奠定基础,为优化数据库系统的逻辑结构和物理结构提供可靠依据。 需求分析是整个数据库设计过程的基础。决定了以后各步设计的速度与质量。,5.2.1需求分析的方法,在用户的积极配合下,通过查阅文档、面谈、观察业务操作、问卷调查等手段来收集用户的信息内容和处理要求。,(1)结构化分析方法(Structured Analysis,SA),用于需求分析的方法有多种,主要方法有自顶向下和自底向上两种。其中自顶向下的结构分析方法(简称SA方法)是一种简单实用的方法。 SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,用数据流图描述系统,处理过程的处理逻辑常借助判定表或判定树来描述,而系统中的数据则是借助数据字典来描述。,(2)数据流图(Data Flow Diagram,DFD),数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。,当系统比较复杂时,可以采用分层描述的方法。在处理功能逐步分解的同时,它们所用的数据也逐级分解,形成若干层次的数据流图。数据流图表达了数据和处理过程的关系。,(3)数据字典,数据字典是结构化分析方法的核心。数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义、使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。 数据字典把不同的需求文档和分析模型紧密地结合在一起,与各模型的图形表示配合,能清楚地表达数据处理的要求。 概括地说,数据字典的作用是对DFD中出现的被命名的图形元素的确切解释。通常数据字典包含的信息有:名称、别名、含义、类型、何处使用、如何使用、补充信息等。,(4)判定表和判定树,它们都是描述加工的图形工具,适合描述问题处理中具有多个判断,而且每个决策与若干条件有关。 在使用判定树或判定表时,应该从问题的文字描述中分清哪些是判定条件,哪些是判定的决策规则,再构造判定表或树。,5.2.2需求分析的任务,通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。 调查的重点是“数据”和“处理”,通过调查、收集和分析,获得用户对数据库业务需求、数据需求、处理需求,最后编写需求分析说明书。,1确定业务需求,业务需求包括业务的流程、组成业务的数据、对数据的处理以及一些规则。,【例5-1】教务管理系统的业务需求分析。,1)了解业务流程 2)明确组成业务的数据,建立数据字典 3)明确数据处理任务 4)明确业务规则,数据字典片段举例:,表5-2教务管理系统数据字典中的数据结构,表5-3教务管理系统数据字典中的数据项,2确定数据需求,数据需求是指用户需要一个信息系统最终能够提供的所有数据,通过分析制作数据流图。,【例5-2】 教务管理系统的顶层数据流图。,3确定处理需求,处理需求通常是指用户要求应用软件系统能够提供的所有功能。根据业务需求以及数据需求可以进一步确定处理需求。处理需求可用系统功能模块图表示。,【例5-3】 教务管理系统的功能模块图。,4编写需求分析说明书,需求分析阶段最后是编写系统分析报告,通常称为需求规范说明书。需求规范说明书是对需求分析阶段的一个总结。编写系统分析报告是一个不断反复、逐步深入与完善的过程,系统分析报告应包括如下内容: 系统概况,系统的目标、范围、背景、历史和现状; 系统的原理和技术,对原系统的改善; 系统总体结构与子系统结构说明; 系统功能说明; 数据处理概要、工程体制和设计阶段划分; 系统方案及技术、经济、功能和操作上的可行性。,5.3数据库概念设计,将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。概念结构的主要特点是: 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求; 易于理解,可以用它和用户交换意见,用户的积极参与是数据库设计成功的关键; 易于修改,当应用环境和应用要求改变时,容易对概念模型修改和扩充; 易于向关系数据模型转换。 概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。,5.3.1概念结构设计的方法与步骤,以需求分析为基础,通常采用自底向上的方法进行概念结构设计。按照这种方法,概念结构的设计可按下面步骤进行。,5.3.2数据抽象与局部视图的设计,1.数据抽象 E-R模型是对现实世界的一种抽象。所谓抽象是对实际的人、物、事和概念,抽取人们关心的共同特性并用各种概念精确地加以描述,组成了某种模型。 分类:定义某一类概念作为现实世界中一组对象的类型。 聚集:定义某一类型的组成成分。 概括:定义类型之间的一种子集联系。,分类,聚集,概括,2. 局部视图(局部E-R图)设计 1)确定局部视图的设计范围:根据系统情况,在多层的数据流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计局部视图。通常以中层数据流图作为设计局部视图的依据 。,教务管理系统的第1层数据流图,学籍管理,选课管理,2)确定实体及实体的主关键字:区分实体与属性的一般原则: 第一,实体一般需要描述信息,而属性不需要。例如,学生需要描述属性(学号、姓名、性别等),所以学生是实体。而性别是属性。 第二,多值的属性可考虑作为实体。例如,教师的职务是一个多值的属性,即一个教师可能担任多个职务。此时,职务可以考虑作为一个独立的实体,否则数据库关系中将会出现大量的空值。 3)定义实体间的联系。 4)给实体及联系加上描述属性。,【例5-6】 教务管理系统中的主要实体。 从各个子系统分析,确定以下实体:学生、班级、专业、优异生、学籍变动、课程、教师等。,3. E-R图设计原则,1)真实性原则:是指E-R图必须能真实地反映客观世界的状况。真实是建立描述客观现实的基础,是成功的前提。 2)避冗余原则:是要求在描述客观现实的一个事物时只能在一个地方出现。冗余将会增加信息的存储空间,另外还将造成数据的不一致性。 3)合适性原则:是指在描述某个事物时,选择实体、联系、还是属性哪个较合适。,【例5-9】 教务管理系统中的局部E-R图。,5.3.3视图集成,1视图集成概述 视图集成可分为局部视图集成和新老视图集成。 局部视图集成是指对新设计的各局部视图进行集成; 而新老视图集成是指原来已存在的集成视图与新增加的局部视图进行集成。 不管是哪一种集成,都会存在各种冲突。例如,命名冲突、结构冲突、度量冲突以及值域冲突等。,2视图集成的策略 (1)二元集成:是一种两两集成方式,即每次集成的视图数为2。优点是每个集成步骤上分析比较过程简单化,缺点是集成操作的总的次数较多。 (2)多元集成:多元集成是一种集成视图数大于2的集成方式。 3视图集成的步骤 (1)预集成阶段:确定总的集成策略,包括视图集成的优先次序、一次集成的视图数以及初始集成序列等;对视图进行分析比较、识别数据对象间的语义,揭示和解决冲突,为下一阶段视图的集成奠定基础。 (2)集成阶段:集成阶段的主要任务是归并和重构视图,最后得到一个统一的全局实体。应该满足以下要求:第一,完整性和正确性。第二,最小化。第三,可理解性。,4新老数据模式的集成 新老数据模式的集成可有两种情况:第一,一个单位已建立了若干面向单项应用的独立数据库。集成工作包括单个数据库的集成和扩充的数据模式的集成。 第二,已建立了在一定范围内支持多项应用的综合数据库。数据模式已是一个经过集成的数据模式,这时再和扩充模式进行集成时,应尽量地向原有模式靠拢,以使原应用程序基本不变。 对所有局部视图集成后便形成了一个整体的数据库概念结构,确保满足下列条件: 整体概念结构内部必须具有一致性,不存在各种冲突。 整体概念结构能准确地反映原各局部视图结构,包括属性、实体及实体间的联系。 整体概念结构能满足需要分析阶段所确定的所有需求。,【例5-10】 教务管理系统的概念视图。,5.4数据库逻辑设计,在概念设计所获得的E-R图的基础上,定义和优化关系模式,形成数据库逻辑设计。 数据库的逻辑结构设计与系统最终选用的DBMS有关。,5.4.1数据库逻辑设计过程,1. 数据库逻辑设计过程 主要任务是在概念设计所获得的E-R图的基础上,首先利用一些转换规则得到一组初始关系模式集,然后用关系规范化理论对关系模式进行优化,以获得优良的数据库设计,最后结合所采用关系数据库的具体特性完成数据库逻辑设计。,2E-R图向关系模型的转换 (1)实体到关系模式的转换 一般来说,对于E-R图中的每一个实体,在关系模式中建立一个与其同名且具有相同属性集的关系。而关系的关键字就对应实体的关键字。 (2)联系到关系模式的转换 对于两个实体的一对一联系,可将联系本身自带的属性与任何一个实体的关键字一起合并到另一个实体之中。,【例5-11】 一对一联系的转换:班级和班长实体联系。,对于两个实体的一对多联系,可将联系本身自带的属性与一方实体的关键字一起合并到多方实体之中。,【例5-12】 一对多联系的转换:学生和班级实体联系。,对于两个实体的多对多联系,可直接转换成一个关系模式,即用三个关系模式来描述,其属性包括联系本身自带的所有属性和两个相关实体的键码,其主键由两个相关实体的主键组合构成。,【例5-13】 多对多联系的转换:学生和课程实体联系。,3关系模式的优化 关系模式是对关系结构的描述,它设计得好坏,将直接影响数据库的完整性、冗余性和可操作性。数据库的设计不能简单用对与错来衡量。 优化就是对已建立的数据模型进行适当修改和调整,使其更规范、合理并且满足信息系统的开发需求。关系数据模型的优化通常以规范化理论为指导。,5.4.2数据库设计规范化,关系模式的规范化理论包括一系列范式(Normal Forms,简记为NF),高一级范式所需要的条件包含了低一级范式所需要的条件,如一个关系模式需要满足第三范式,则其必须满足第一范式和第二范式的条件。 所谓关系模式的规范化是将一个低一级范式的关系模式,通过模式分解转换为高一级范式的过程。对于大部分数据库设计来说,第三范式已足够使用。,关系模式的规范化的三个范式,1第一范式(1NF) 如果关系(表)中的每一分量都是不可分的,则称该关系(表)满足1NF。 2第二范式(2NF) 包含在任意一个候选关键字中的属性称为主属性,否则称为非主属性。如果一个表是1NF且所有非主属性完全依赖于某一个候选关键字,则称该表是2NF。 第二范式主要用于有组合关键字的表,也就是主关键字是由两个或多个属性组合而成的表。主关键字是单属性且满足1NF条件的表一定是2NF的表。 3第三范式(3NF) 如果一个表是2NF,且表中任意非主属性都不传递依赖于某一个候选关键字,则该表是3NF的。,三个范式的应用举例(非1NF表3NFA、B、C、D、E),非1NF表,非2NF表,非3NF表,A,B,C,D,E,5.4.3关系模式的设计原则,在关系数据库设计中,关系模式是根据有关实体属性及其相互联系等方面的内容转换构成的,然后进行规范化,确定满足用户预定要求条件的适当规范化的一组关系模式。 因此关系数据库设计要以关系规范化理论为基础,充分考虑关系模型的数据完整性规则,下面以实例讨论数据库设计的一些具有指导性的原则。,(1)一个表应该满足1NF,并根据信息系统需要相对完整、合理地表达实体集的属性。,在需求分析时对信息准确把握,抽象出系统所关注的实体集的属性,并以合适的数据类型来描述。针对系统需求,只选择与系统相关的属性。 属性的数据类型定义要合理,因为不同的数据类型表达能力不同,带来的系统开销(存储空间、处理速度等)也不一样,合理地选择属性的数据类型描述还会给应用程序开发带来便利。,【例5-17】 学生表中学号和年龄的表达。,“学号”整数还是字符? “年龄”整数还是日期型? “性别”表达? “姓名”字符串长度?,(2)表结构中不含含义类似的重复字段,表中有时会出现含义相类似的字段,比如多个联系电话,多个联系人等,为了将来程序处理方便,最好不分列多个相似字段。,【例5-18】 不含含义相似的字段:通讯录表中联系方式的表达。,(3)保持实体独立性,表的每一列均依赖主关键字,而不是依赖主关键字的部分字段,即满足2NF。,实体中存在依赖部分主关键字段的属性,会造成数据的反复存储,带来数据冗余,更为严重的是它容易造成数据的不一致。,【例5-19】 保持实体的独立性:选课表分解为课程表和成绩表。,(4)保持实体的独立性,表中不存在传递依赖,即每一列均直接依赖主关键字。即满足3NF。,传递依赖是指字段间接依赖主关键字,会造成数据冗余和数据不一致。,【例5-20】 保持实体的独立性:学生表分解为学生表和班级表,即满足3NF。,(5)最好不在数据库中存放计算值。,【例5-21】 不存放计算值:选课表中的平均成绩。,数据库中应存放基础业务数据,客户需要的汇总计算结果最好不要和基础数据存放到一起,容易造成与真实信息不一致。,(6)最好为每个表定义主关键字,实施保证关系完整性的各种约束。,主关键字不是必须的,但最好为每个表定义主关键字,因为它会为数据维护和表结构管理带来很多好处。实施保证关系完整性的各种约束对数据库设计的意义非常重大。,(7)要根据实际问题需要,运用关系模式设计原则和关系规范化理论。,,在数据库设计时应该尽量遵守数据库设计规范化理论和设计原则,以实现较优秀的数据库设计。但这些原则只是指导性的,不是绝对要求的,在某些应用中,规范化程度高的关系模式不一定是最合适的关系模式,要根据实际情况确定。,违反原则的需求举例,简化应用程序开发的需求:对于简单的系统,非规范化的数据设计可能会使数据库应用程序简单化; 提高查询效率的需求:为了支持快速查找可以事先将汇总结果算好存放到数据库中;再例如,对于历史信息的转储,主要用于查询汇总等应用,可以将规范化程度较高的关系模式合并为规范化低的关系,从而提高查询响应效率。 减少数据修改量的需求:高规范化意味着关系间的联系比较多,数据约束多,因此在进行修改操作时可能会涉及多表的数据修改,低规范化的表将更多属性归并到较少的表中,可减少数据修改量。,【例5-22】教务管理系统的数据库逻辑结构。,(1) T_Student学生表:存储学生基本信息。,(2) T_Class表:存储班级基本情况。,(3) T_Major表:存储专业设置的基本情况,(4) T_Course表:存储开设课程的基本情况。,(5) T_Grade表:存储学生选课及成绩。,5.5数据库物理设计,数据库的物理设计是对已确定的逻辑数据结构,利用DBMS所提供的方法、技术,以较优的数据存储结构、数据存取路径、合理的数据存放位置以及存储分配,设计出一个高效的、可实现的物理数据库结构。,1. 数据库物理设计的要求,1)对要运行的事务进行详细分析,获得选择物理数据库设计所需要的参数。 2)要充分了解所用DBMS的内部特征,特别是系统提供的存取方法和存储结构。 3)对于数据库查询事务,需要得到如下信息:查询的关系、查询条件所涉及的属性、联接条件所涉及的属性、查询的投影属性。 4)对于数据更新事务,需要得到如下信息:被更新的关系、每个关系上的更新操作条件所涉及的属性、修改操作要改变的属性值。,2. 关系模式存取方法的选择,(1)索引存取方法的选择 如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引); 如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引; 如果一个(或一组)属性经常在联接操作的联接条件中出现,则考虑在这个(或这组)属性上建立索引。,(2)聚簇存取方法的选择 为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块称为聚簇。 (3)数据库存储结构的确定 确定数据库物理结构主要是指确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构以及确定系统配置等。,(4)物理结构的评价 物理设计过程需要对时间、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案。在实施数据库前,对这些方案进行细致的评价,以选择一个较优的方案作为数据库的物理结构。 评价物理数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结构进行权衡、比较,选出较优方案。,5.6数据库实施,数据库实施阶段主要做两项工作: 1 . 应用程序的编制与调试; 定义数据库,建立实际数据库结构,编制与调试应用程序。 2. 数据的加载及数据库试运行。 可先使用模拟数据。如由手工生成或用随机数发生器生成。测试数据应尽可能覆盖需求分析阶段所需的各种数据。 功能测试:实际运行应用程序,执行对数据库的各种操作,测试应用程序的各种功能是否符合应用要求。 性能测试:测量系统的性能指标,分析是否符合设计目标。,5.7数据库运行与维护,数据库试运行合格后,数据库设计开发工作基本完成,即可投入正式运行。在数据库运行期间,由数据库管理员(DBA)来维护数据库经常性工作。维护内容包括: 数据库的转储和恢复 数据库的安全性、完整性控制 数据库性能的监督、分析和改进 数据库的调整 数据库的重组和重构,数据库的调整、重组以及重构,数据库的调整:包括调整数据模式、调整索引和聚簇、调整数据库运行环境以及调整数据库参数,目的是提高系统性能。 数据库的重构:主要是根据新环境调整数据库的模式和内模式、增加新的数据项、改变数据项的类型、改变数据库的容量、增加或删除索引以及修改完整性约束条件。重构是逻辑上的调整。 数据库的重组:是在数据库运行一段时间后,对数据库的物理组织进行一次全面的调整。是物理存储位置的调整。,本章小结 数据库设计概述::设计方法和步骤 数据库设计的需求分析:数据流图、数据字典、系统功能模块图、系统需求说明书 数据库概念设计:概念设计步骤,数据抽象、E-R图设计、视图集成 数据库逻辑设计:逻辑设计过程、E-R模型向关系模型转换、关系模式的三个范式、数据库设计原则 数据库物理设计:物理设计要求、索引的选择、存储结构的确定 数据库实施:编程调试、加载数据试运行 数据库运行与维护:主要工作、数据库调整、重组和重构,补充实验:数据库设计练习(学生课外科技活动管理系统),需求描述: 不同的科技活动项目有不同的要求(人数、学生年级、相应课程成绩),学生报名选择想参加的科技活动项目,系统根据项目的要求和约束录取同学,并进行分组,完成活动后指导教师给出成绩和评语,学生可以查询参加项目及得分情况。 要求:1)数据流图、功能模块图 2)数据库概念设计E-R图 3)数据库逻辑设计图,并说明各表关系模式和详细设计,完整性约束,作出关系图 提示:学生实体 项目实体,实验九:信息系统开发综合实验 中的部分设计文档,实验作业:P172 页: 1114题,MS Visio的使用,MS Visio是微软Office套装里的一个产品

温馨提示

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

评论

0/150

提交评论