【教学课件】第8章数据库设计.ppt
《【教学课件】第8章数据库设计.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第8章数据库设计.ppt(128页珍藏版)》请在三一办公上搜索。
1、第8章 数据库设计,8.1数据库设计概述,数据库设计的任务、内容和特点数据库设计的任务数据库设计是指根据用户需求研制数据库结构的过程。数据库设计的任务如图8.1所示。,数据库设计的任务,图8.1,8.1.1.2 数据库设计的内容 数据库设计包括数据库的结构设计和数据库的行为设计两方面的内容。(1)数据库的结构设计 数据库的结构设计是指根据给定的应用环境,进行数据库的模式或子模式的设计。(2)数据库的行为设计 数据库的行为设计是指确定数据库用户的行为和动作。,8.1.1.3 数据库设计的特点“三分技术,七分管理,十二分基础数据”是数据库建设的基本规律。结构(数据)设计应该和行为(处理)设计密切结
2、合。也就是说,整个设计过程中要把数据库结构设计和对数据的处理设计密切结合起来。,数据库设计方法简述数据库设计方法目前可分为四类:直观设计法、规范设计法、计算机辅助设计法和自动化设计法。直观设计法直观设计法也叫手工试凑法,它是最早使用的数据库设计方法。,2规范设计法 新奥尔良法将数据库设计分成需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。下面简单介绍几种常用的规范设计方法。,(1)基于E-R模型的数据库设计方法(2)基于3NF的数据库设计方法 具体设计步骤分为五个阶段:设计企业模式,利用规范化得到的3NF关系模式画出企业模式;设计数据库的
3、概念模式,把企业模式转换成DBMS所能接受的概念模式,并根据概念模式导出各个应用的外模式;设计数据库的物理模式(存储模式)对物理模式进行评价;数据库实现。,(3)基于视图的数据库设计方法 基本思想是为每个应用建立自己的视图,然后再把这些视图汇总起来合并成整个数据库的概念模式。合并过程中要解决以下问题:消除命名冲突;消除冗余的实体和联系;进行模式重构,在消除了命名冲突和冗余后;需要对整个汇总模式进行调整,使其满足全部完整性约束条件。,规范设计法从本质上来说仍然是手工设计方法,其基本思想是过程迭代和逐步求精。计算机辅助设计法是指在数据库设计的某些过程中模拟某一规范化设计的方法,并以人的知识或经验为
4、主导,通过人机交互方式实现设计中的某些部分。一种实用的数据库设计方法至少应包括设计过程、设计技术、评价准则、信息需求和描述机制。,8.1.3 数据库设计的步骤 1需求分析阶段2概念设计阶段3逻辑设计阶段4物理设计阶段 5数据库实施阶段 6数据库运行、维护阶段,分析系统需求,6、数据库运行和维护阶段,数据库设计步骤,系统需求分析阶段,概念结构设计阶段,逻辑结构设计阶段,物理结构设计阶段,数据库实施阶段,数据库使用维护阶段,运行、维护数据库,数据入库,编制应用程序,将E-R图转换成具体关系模式建立逻辑模型、用户视图,综合各个用户的应用需求,形成独立于DBMS的概念模型用E-R图描述,安排物理存储,
5、设计索引,图8.3 数据库设计步骤,8.2 系统需求分析,8.2.1 系统需求分析的任务1.调查分析用户活动具体做法是:(1)调查组织机构情况,包括该组织的部门组成情况,各部门的职责和任务等。(2)调查各部门的业务活动情况,包括各部门输入和输出的数据与格式、所需的表格与卡片、加工处理这些数据的步骤、输入输出的部门等。(3)调查分析的方法,需求分析阶段,熟悉业务活动,明确用户需求,确定系统边界,分析系统功能,分析系统数据,编写分析报告,调查机构情况,数据字典,数据流程图,用户活动图,用户,数据库设计人员,常用的调查方法有以下几种:跟班作业。通过亲身参加业务工作来了解业务活动的情况。这种方法可以比
6、较准确地理解用户的需求,但比较耗费时间。开调查会。通过与用户座谈来了解业务活动情况及用户需求。座谈时,参加者之间可以相互启发。询问。对某些调查中的问题,可以找专人询问。设计用户调查表。如果调查表设计得合理,这种方法很有效,也易于为用户接受。查阅记录。即查阅与原系统有关的数据记录。,2.收集和分析需求数据,确定系统边界(1)信息需求指目标范围内涉及的所有实体、实体的属性以及实体间的联系等数据对象,也就是用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。,(2)处理需求指用户为了得到需求的信息而对数据进行加工处理的要求,包括对某种处理功能的响应时间,
7、处理的方式(批处理或联机处理)等。(3)安全性和完整性的需求。在定义信息需求和处理需求的同时必须确定相应的安全性和完整性约束。,3.编写需求分析说明书系统分析报告应包括如下内容:(1)系统概况、系统的目标、范围、背景、历史和现状;(2)系统的原理和技术,对原系统的改善;(3)系统总体结构与子系统结构说明;(4)系统功能说明;(5)数据处理概要、工程体制和设计阶段划分;(6)系统方案及技术、经济、功能和操作上的可行性。,随系统分析报告提供下列附件:(1)系统的硬件、软件支持环境的选择及规格要求(所选择的数据库管理系统、操作系统、汉字平台、计算机型号及其网络环境等)。(2)组织机构图、组织之间联系
8、图和各机构功能业务一览图。(3)数据流程图、功能模块图和数据字典等图表。,8.2.2 系统需求分析的方法 分析和表达用户需求的方法很多,主要方法有自顶向下和自底向上两种(a)自顶向下的需求分析(b)自底向上的需求分析,8.2.2.1 数据流图 数据流图的绘制建立在SADT的基础上,采取自上而下的方法。首先,将整个系统作为一个处理(功能),绘制顶层图。然后,逐级细化,分解成详略不同的多层数据流图,直到满足需要为止。,图8.5 系统顶层数据流图,数据流图使用的符号说明,一个数据流图的示例,8.2.2.2 数据字典数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
9、数据字典中的内容在数据库设计过程中还要不断修改、充实和完善。一般来说数据字典中应包括对以下几部分数据的描述:,1数据项 数据项是数据的最小单位,对数据项的描述应包括:数据项名、含义、别名、类型、长度、取值范围,以及与其他数据项的逻辑关系。2数据结构 数据结构是若干数据项有意义的集合。对数据结构的描述应包括:数据结构名,含义说明和组成该数据结构的数据项名。,3数据流 数据流可以是数据项,但更一般的情况下是数据结构,表示某一处理过程的输入或输出数据。对数据流的描述应包括:数据流名,说明,从什么处理过程来,到什么处理过程去以及组成该数据流的数据结构或数据项。,4.数据存储 数据存储定义的目的是确定最
10、终数据库需要存储那些信息。(1)考察数据流图中每个数据存储信息,确定其是否应该而且可能由数据库存储,若是,则列入数据库需要存储的信息范围。,(2)定义每个数据存储。对数据存储的描述应包括:数据存储名、存储的数据项说明、建立该数据存储的应用(即数据处理)、存取该数据存储的处理过程、数据量、存取频度(指每天或每小时或每分钟存取几次)、操作类型(是检索还是更新)和存取方式(是批处理还是联机处理,是顺序存取还是随机存取)等。,5.处理过程(1)考察数据流图中的每个数据处理,确定正在设计的数据库系统是否应该而且可能支持这个处理过程。如果应该而且可能支持,把这个功能列入数据库系统支持的应用范围。(2)对于
11、每个处理过程,进行严格定义,内容包括:处理过程名、处理功能描述、处理要求、输入数据、输出数据等等。,需求分析注意点,确定用户需求是一件很困难的事情。这是因为:第一,应用部门的业务人员常常缺少计算机的专业知识,而数据库设计人员又常常缺乏应用领域的业务知识,因此相互的沟通往往比较困难。第二,不少业务人员往往对开发计算机系统有不同程度的抵触情绪。有的认为需求调查影响了他们的工作,给他们造成了负担,特别是新系统的建设常常伴随企业管理的改革,这会遇到不同部门不同程度的抵触。,第三,应用需求常常在不断改变,使系统设计也常常要进行调整甚至要有重大改变。面对这些困难,设计人员特别应该注意:1用户参与的重要性2
12、用原型法来帮助用户确定他们的需求3预测系统的未来改变,8.3 概念结构设计,根据需求分析阶段形成的新系统需求分析说明书,把用户的信息需求抽象为信息结构即概念模型的过程就是概念结构设计。用E-R图来描述现实世界的概念模型。,概念结构设计阶段,合并取消冲突,修改重构消除冗余,数据字典,数据流程图,功能模块图,抽象数据,设计局部视图,局部E-R图,初步E-R图,基本E-R图,8.3.1 概念模型的特点 概念结构设计是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。概念模型作为概念结构设计的表达工具,为数据库提供一个说明性结构,是设计数据库逻辑结构即逻辑模型的基础。概念模型具备以下主要特点:,
13、(1)概念模型是现实世界的一个真实模型 概念模型能表达用户的各种需求,充分反映现实世界,包括事物和事物之间的联系、用户对数据的处理要求。(2)概念模型易于交流和理解。概念模型是DBA、应用开发人员和用户之间的主要界面,因此,概念模型要表达自然、直观和容易理解,以便和不熟悉计算机的用户交换意见,用户的积极参与是保证数据库设计成功的关键。,(3)概念模型易于修改和扩充。概念模型要能灵活地加以改变,以反映用户需求和现实环境的变化。(4)概念模型易于向各种数据模型转换。概念模型独立于特定的DBMS,因而更加稳定,能方便地向关系模型、网状模型或层次模型等各种数据模型转换。,8.3.2 概念结构设计的方法
14、与步骤 设计概念结构通常有自顶向下、自底向上、逐步扩张和混合策略等4类方法。其中最经常采用的策略是自底向上方法。即自顶向下地进行需求分析,然后再自底向上地设计概念结构,如下所示。,自顶向下需求分析与自底向上设计概念结构,概念结构设计的步骤一般可分为两步:,第一步是抽象数据并设计局部视图,第二步是集成局部视图,得到全局的概念结构,如下所示。,概念结构设计步骤,8.3.3 数据抽象与局部E-R模型设计 1.数据抽象 所谓抽象是对实际的人、物、事和概念进行人为处理,它抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。,一般有三种数据抽象:分类、聚
15、集和概括。分类(Classification)分类定义某一类概念作为现实世界中一组对象的类型,将一组具有某些共同特性和行为的对象抽象为一个实体。分类抽象了对象值和型之间是“成员”的语义。在E-R模型中,实体集就是这种抽象。例如,在生产管理中,“电脑”是一件产品,表示“电脑”是产品中的一员,他具有产品共同的特性和行为。,聚集(Aggregation)聚集是定义某一类型的组成部分,它抽象了对象内部类型和对象内部“组成部分”的语义。若干属性的聚集组成了实体型。例如把实体集“产品”的“产品号”、“产品名”、“价格”、“性能”等属性聚集为实体型“产品”。,概括(Generalization)概括定义了类
16、型之间的一种子集联系,它抽象类型之间的“所属”的语义。例如在电脑工厂中,“产品”是个实体集,“台式机”、“笔记本电脑”也是实体集,但“台式机”、“笔记本电脑”都是“产品”的子集。我们把“产品”称为超类(Superclass),“台式机”、“笔记本电脑”称为“产品”的子类(Subclass)。,2.局部E-R模型设计 一般说来,在给定的应用环境中,区别属性与实体要遵循下列两条原则:属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成。属性不能与其他实体有联系。在E-R图中所有的联系必须是实体间的联系,而不能有属性与实体之间发生联系。,仓库作为一个属性或实体,电话,一般
17、说来,视图集成可以有两种方式:多个分E-R图一次集成。逐步集成,用累加的方式一次集成两个分E-R图。第1种方法比较复杂,做起来难度较大。第2种方法每次只集成两个分E-R图,可以降低复杂 度。,图8.7 生产部门的局部E-R图,图8.8 供应部门的局部E-R图,8.3.4 视图的集成,无论采用哪种方式,每次集成局部E-R图时都需要分两步走。(1)合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。(2)修改和重构。消除不必要的冗余,生成基本E-R图。,视图集成,8.3.4.1 合并局部E-R图,生成初步E-R图 各分E-R图之间的冲突主要有3类:属性冲突、命名冲突和结构冲突
18、。1属性冲突(1)属性域冲突,即属性值的类型、取值范围 或取值集合不同。(2)属性取值单位冲突。,2命名冲突(1)同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。(2)异名同义(一义多名),即同一意义的对象在不同的局部应用中具有不同的名字。,3结构冲突(1)同一对象在不同应用中具有不同的抽象。(2)同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同。(3)实体间的联系在不同的分E-R图中为不同的类型。,例如,下页图中零件与产品之间存在多对多的联系“构成”。产品、零件与供应商三者之间还存在多对多的联系“供应”,这两个联系互相不能包含(读者想一想为什么),在合并两个分E
19、-R图时就应把它们综合起来。,合并两个分E-R图,8.3.4.2 修改与重构,消除不必要的冗 余,生成基本E-R图 所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。,消除冗余主要采用分析方法,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。在下页图中,Q3=Q1Q2,Q4=Q5,所以Q3 和Q4是冗余数据,可以消去。并且由于Q3消去,产品与材料间mn的冗余联系也应消去。,消除冗余,但并不是所有冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。例如,若物资部门经常要查询各种材料的库存量,如果每次都要查
20、询每个仓库中此种材料的库存,再对它们求和,查询效率就太低了。所以应保留Q4,同时把Q4=Q5定义为Q4的完整性约束条件。每当Q5修改后,就触发该完整性检查例程,对Q4作相应的修改。,除分析方法外,还可以用规范化理论来消除冗余。在规范化理论中,函数依赖的概念提供了消除冗余联系的形式化工具。具体方法如下:(1)确定分E-R图实体之间的数据依赖。(2)求FL的最小覆盖GL(求最小覆盖的方法可参见7.6节)。差集为:D=FLGL。,逐一考察D中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。由于规范化理论受到泛关系假设的限制,应注意下面两个问题:(1)冗余的联系一定在D中,而D中的联系不一定是冗余
21、的。(2)当实体之间存在多种联系时要将实体之间的联系在形式上加以区分。,例2 某工厂信息系统的视图集成。图8.17、图8.23、图8.21分别为该厂销售、物资和劳动人事管理的分E-R图。把这3个分E-R图进行集成过程中解决了以下问题:(1)异名同义,“项目”和“产品”含义相同。某个“项目”实质上是指某个“产品”的生产。统一用“产品”作实体名。,E-R图实例,产品,零件,性能,产品号,产品名,零件号,零件名,材料名,组装,m,n,耗用量,产品,仓库,成品名,成品号,价格,仓库号,仓库名,地址,使用,m,n,电话,使用量,存储量,材料,材料号,材料名,价格,存储,m,n,总体E-R模型(改进),8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 数据库 设计

链接地址:https://www.31ppt.com/p-5659510.html