【教学课件】第五章数据库设计.ppt
《【教学课件】第五章数据库设计.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第五章数据库设计.ppt(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章 数据库设计l 5.1 数据库设计概述l 5.2 需求分析l 5.3 概念结构设计l 5.4 逻辑结构设计l 5.5 数据库物理设计l 5.6 数据库实施l 5.7 数据库运行与维护1 1 5.1 数据库设计概述数据库设计是指对于给定的应用环境,构造最优的DB模式,建立DB及应用系统,使之能有效的存储数据,满足各种用户的应用需求。1.设计步骤不不满满意意不不满满意意不不满满意意需需求求分分析析概概念念设设结结计计构构局局部部集集成成逻逻辑辑设设结结计计构构设设计计优优化化DBDB实实施施DBDB物物理理实实施施试试运运行行DBDB维维护护运运行行物物理理设设结结计计构构设设计计评评价价2
2、 25.1 数据库设计概述需求分析 任务:准确了解与分析用户需求。即信息要求,处理要求,安全性与完整性要求 方法:自顶向下的结构化分析方法 阶段结果:数据流图(DFD)和数据字典(DD)概念结构设计 任务:把用户需求抽象为信息结构 方法:E-R模型 阶段结果:基本E-R图逻辑结构设计 任务:把基本E-R图转换为DBMS支持的关系模型 方法:模式转换规则 阶段结果:关系数据库模式及关系子模式3 35.1 数据库设计概述 物理设计 任务:为数据库设计最适合应用环境的存储结构和存取路径。结果:确定数据的存储记录格式、存储记录位置分布及访问方法。实施与维护 运用DBMS提供的数据语言,根据逻辑设计和物
3、理设计的结果建立数据库,编制、调试应用程序,并试运行等。并在运行过程中不断地对系统评价、调整与修改 4 45.1 数据库设计概述2.设计特点特点之一 DB建设是硬件、软件和干件的结合特点之二 DB设计和应用系统设计相结合(即设计过程中把结构设计和行为设计紧密结合起来)5 55.1 数据库设计概述3.设计方法常见的DB设计方法:视图模型化及视图汇总设计方法 关系模式的设计方法 新奥尔良设计方法 基于E-R模型的设计方法 基于3NF的设计方法 基于抽象语法规范的设计方法 计算机辅助DB设计方法6 6第五章 数据库设计l 5.1 数据库设计概述l 5.2 需求分析l 5.3 概念结构设计l 5.4
4、逻辑结构设计l 5.5 数据库物理设计l 5.6 数据库实施l 5.7 数据库运行与维护7 7 5.2 需求分析1.需求分析的任务 从DB设计的角度考虑,需求阶段的目标是:对现实世界要处理的对象进行详细调查,在了解原系统的概况,确定新系统功能的过程中,收集支持系统目标的基础数据及处理,调查的重点是“数据”和“处理”,通过调查要从中获得每个用户对DB的如下要求:8 85.2 需求分析-需求分析的任务信息要求:用户将从DB中获得信息的内容、性质,由信息要求导出数据要求,即在DB中需存储哪些数据。处理要求:用户要完成什么处理功能,对某种处理要求的响应时间、处理的方式。安全性和完整性要求9 95.2
5、需求分析2.需求分析的方法分析方法:结构化分析方法自顶向下,逐层分解具体步骤:(1)首先了解组织机构情况:组织由哪些部门组成,各部门的职责是什么(2)了解各部门的业务活动情况:输入和使用什么数据如何加工处理这些数据输出什么数据,到什么部门,输出结果的格式是什么(3)协助用户明确对新系统的各种要求(4)确定系统边界10105.2 需求分析-需求分析的方法调查研究方法:跟班作业、调查会、请专人介绍、询问、设计调查表、查阅记录等。结果表达方法:用一组数据流图(DFD)和数据字典(DD)描述结果。数据流图是从“数据”和“对数据的加工”两方面表达数据处理系统工作过程的一种图形表示法。例:教师教师 输入输
6、入处理处理成绩成绩登录登录输出输出处理处理教务处教务处 原始输入原始输入 格式化格式化 输出输出 格式化格式化成绩文件成绩文件 输入输入输出输出11115.2 需求分析-需求分析的方法数据流图作为自顶向下逐步细化描述对象的工具,先建立系统高层抽象图,把整个系统看成一个处理,并表明其输入输出,然后再逐层分解,直到把系统的工作过程表达清楚为止。12125.2 需求分析3.数据字典DFD 表达了数据和处理的关系DD 是系统中各类数据描述的集合DD包括:数据项,数据结构,数据流,数据存储,处理五个部分。数据项(不可再分的数据单位)数据项描述=数据项名,数据项含义说明,别名,类型,长度,取值范围,取值含
7、义,与其他数据项的逻辑关系13135.2 需求分析-数据字典 数据结构(反映了数据间的组合关系)数据结构描述=数据结构名,含义说明,组成:数据项或数据结构 数据流(数据结构在系统内传输的路径)数据流描述=数据流名,说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量 14145.2 需求分析-数据字典 数据存储(数据结构停留和保存的地方)数据存储描述=数据存储名,说明,编号,输入数据流,输出数据流,组成:数据结构,数据量,存取频度,存取方式 处理过程(具体处理逻辑)处理过程描述=处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明 一般用判定表或判断树描述1515第五章
8、数据库设计l 5.1 数据库设计概述l 5.2 需求分析l 5.3 概念结构设计l 5.4 逻辑结构设计l 5.5 数据库物理设计l 5.6 数据库实施l 5.7 数据库运行与维护1616 5.3 概念结构设计需求分析得到的结果还是现实世界的具体需求,这里要做第一步抽象,把他们抽象为信息世界的结构,才能更好、更准确的用某个DBMS实现用户的需求。将用户需求抽象为信息结构,就是概念结构设计,这个步骤是整个DB设计的关键所在。17175.3 概念结构设计设计方法通常有四类:自顶向下:先定义全局概念结构框架,然后逐步细分。自底向上:先定义各局部应用概念结构,再集成。逐步扩张:先定义最重要的核心概念结
9、构,再向外扩充。混合策略:先用自顶向下策略设计一个全局概念结构框架,以它为骨架集成由底向上策略中设计的各局部概念结构。18185.3 概念结构设计通常采用自底向上方法,即自顶向下进行需求分析,再自底向上设计概念结构。无论采用哪种方法,一般都以E-R模型为工具描述概念结构。步骤步骤 设计局部视图设计局部视图 集成视图集成视图 分分E-RE-R图图总总E-RE-R图图DFD,DDDFD,DD反复,直到用户满意反复,直到用户满意19195.3 概念结构设计1.数据抽象与局部视图设计 E-R模型是对现实世界的一种抽象,它抽取人们关心的事物的共同特征,忽略非本质的细节,并把这些特征用多种概念精确地加以描
10、述,这些概念组成了某种模型。20205.3 概念结构设计-数据抽象与局部视图设计(1)选择局部应用 通过需求分析,得到了用多层数据流图和数据字典描述的整个系统。这里首先要做的是根据具体情况在多层数据流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用。通常高层数据流图反映系统概况,中层能较好的反映系统中各局部应用的子系统组成。所以以中层作为E-R图设计的依据。21215.3 概念结构设计-数据抽象与局部视图设计(2)设计分E-R图 要将局部应用中的数据从数据字典中抽取出来,参照数据流图,分类,组织,形成实体、属性等。关键有三步:确定实体类型 确定实体间的联系类型 确定实体和联系
11、类型的属性 22225.3 概念结构设计-数据抽象与局部视图设计常用的数据抽象:分类:把现实世界中一组具有共同特性和行为的对象抽象为一个实体。聚集:把对象类型的组成成分抽象为实体的属性。概括:定义类型之间的一种子集联系,具有继承性。如何界定应用中的实体和属性?23235.3 概念结构设计-数据抽象与局部视图设计基本准则:作为“属性”,不能再具有需要描述的性质,即属性是不可分的数据项,不能再由另一些属性组成。作为“属性”,在它所描述的实体之外,不能再与其他实体具有联系。例:如果要涉及劳保用品,而劳如果要涉及劳保用品,而劳保用品的发放与工种有关保用品的发放与工种有关 职工职工 姓名姓名 年龄年龄
12、工种工种 nn1m职工职工工种工种 发放发放 劳保用品劳保用品 属于属于24245.3 概念结构设计2.视图的集成 即把分E-R图综合成总E-R图。方法:二元阶梯合成法:先合并两个最相似的局部模式,其结果与另一个相似的局部模式合并,直至所有的合并为一个全局模式。N元合成法:首先分析识别所有的冲突,然后一次合成所有的局部模式,形成全局模式。平衡二元合成法:先把局部模式按相似性分成多对,然后合并每一对模式,对合并的中间结果重复上述过程,直至产生全局模式。混合合成法:先把局部模式分成多组,再使用上述任一方法合并每个模式组,对合并的中间结果重复,直至产生全局模式。25255.3 概念结构设计-视图的集
13、成无论何种方法,基本分成两步:第一步合并,解决各分E-R图之间的冲突,生成初步E-R图。第二步修改和重构,消除不必要冗余,生成基本E-R图。E-R(1)E-R(1)E-R(2)E-R(2)E-R(n)E-R(n)初步初步E-RE-R图图基本基本E-RE-R图图第一步合并消除冲突第二步修改重构消除冗余E-R(1)E-R(1)E-R(2)E-R(2)E-R(12)E-R(12)E-R(3)E-R(3)初步初步E-RE-R图图基本基本E-RE-R图图第一步第二步26265.3 概念结构设计-视图的集成(1)合并分E-R图,生成初步E-R图 由于各局部应用面向的问题不同,通常又由不同人设计,这就导致分
14、E-R图之间必定会存在许多不一致的地方。因而在合并时,必须着力于消除分E-R图中的不一致,即合理消除各分E-R图的冲突是合并工作的关键所在。27275.3 概念结构设计-视图的集成冲突的类型:属性冲突:属性域冲突:即属性值的类型、取值范围或取值集合不同 属性取值单位冲突 命名冲突:同名异义:即不同意义的对象具有相同的名字 异名同义:即同一意义的对象具有不同的名字 结构冲突:同一对象在不同应用中的不同抽象 同一实体在不同分E-R图中属性组成不同 实体之间联系在不同分E-R图中呈现不同类型28285.3 概念结构设计-视图的集成前两个冲突用讨论方法协商解决,结构冲突则要认真分析后用技术手段解决。例
15、如:把属性实体或实体属性,使同一对象具有相同的抽象。同一实体的属性构成通常取分E-R图中属性的并,再适当调整顺序。实体联系的类别则根据应用的语义加以综合或调整。29295.3 概念结构设计-视图的集成 例:有下面两个E-R图产品和零件间 n:m“构成”按语义不能被产品、零件、供应商间多元 n:m“供应”所包括,因此在合并时就应综合它们。E-R(1)构成构成 产品产品零件零件数量数量nmE-R(2)产品产品零件零件供应供应数量数量供应商供应商mnp30305.3 概念结构设计-视图的集成nmnmp产品产品零件零件构成构成数量数量1 1供应供应数量数量2 2供应商供应商集集 成成(2)修改与重构,
16、生成基本E-R图 初步初步E-RE-R图可能存在冗余数据和冗余联系,把消除图可能存在冗余数据和冗余联系,把消除了冗余的初步了冗余的初步E-RE-R图称为基本图称为基本E-RE-R图。图。31315.3 概念结构设计-视图的集成 用分析的方法消除冗余 数据流图及数据字典是用分析方法消除冗余的依据例:其中Q Q3 3=Q=Q1 1*Q*Q2 2Q Q4 4=QQ5 5 可以消除由于Q Q3 3 是由”使用”产生,故也应消除mnmnn1mn产品产品零件零件构成构成零件数零件数Q1Q1消耗消耗消耗量消耗量Q2Q2材料材料存放存放仓库仓库库存量库存量Q4Q4存放量存放量Q5Q5使用使用用量用量Q3Q33
17、2325.3 概念结构设计-视图的集成 用规范化理论消除冗余 确定分E-R图实体间的函数依赖(实体间1:1,1:n,n:m 的联系可用实体码之间的函数依赖表示)求函数依赖集F的最小覆盖(无冗余数据依赖)例:部门与职工之间1:n 可表示为:职工号部门号 职工与产品之间n:m可表示为:(职工号,产品号)出勤天数 职工与产品之间1:1可表示为:负责人.职工号产品号 或 产品号负责人.职工号部门部门职工职工从属从属生产生产负责负责天数天数产品产品1nn11m33335.3 概念结构设计-视图的集成视图集成后形成了一个整体的数据库概念结构,对该结构必须验证确保它满足下列条件:整体概念结构内部必须具有一致
18、性(即不能存在相互矛盾的表达)整体概念结构能准确反映原来每个视图结构,包括属性、实体及联系。整体概念结构能满足需求分析各阶段所确定的所有需求。3434第五章 数据库设计l 5.1 数据库设计概述l 5.2 需求分析l 5.3 概念结构设计l 5.4 逻辑结构设计l 5.5 数据库物理设计l 5.6 数据库实施l 5.7 数据库运行与维护35355.4 逻辑结构设计任务:把概念结构转换为与选用的DBMS所支持的数据模型。(按理:先选择对某个概念结构最好的数据模型,然后对支持这种数据模型的各种DBMS进行比较后选出最合适的DBMS)步骤:概念结构概念结构基本基本E-RE-R图图 一般数据模型一般数
19、据模型关系关系/层次层次/网状网状特定的特定的DBMSDBMS支持下的支持下的数据模型数据模型优化数据模型优化数据模型转换规则转换规则DBMSDBMS的的特点和限制特点和限制优化方法优化方法36365.4 逻辑结构设计1.E-R图向关系模型的转换 关系模型的逻辑结构是一组关系模式的集合。因此转换实际上是要将实体、属性和联系转换为关系模式。转换规则:(1 1)每个实体型转换成一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。(2 2)把各个实体型之间的每一个n:m联系转换成一个关系模式。该关系模式中的属性除了要包括联系本身所具有的属性外,还要包括这个联系的双方实体型的主码作为外来码。
20、37375.4 逻辑结构设计-E-R图向关系模型的转换 (3 3)实体型之间1:n联系,一般不用建立单独的关系模式,让“单”的一方的主码作为“多”的一方的外来码。若联系本身具有属性,则也应作为“多”的一方关系模式中的属性。(4 4)对n:m的多元联系,要单独建立关系模式。关系模式中的属性要包括联系的属性,还要包括这个联系的各个实体的主码作为外来码。(5 5)具有相同码或只有单一属性的模式可合并或消去。38385.4 逻辑结构设计-E-R图向关系模型的转换例:供应商供应商负责负责部门部门领导领导属于属于职工职工参加参加产品产品供应供应 供应量供应量零件零件天数天数111nn1m1mnp39395
21、.4 逻辑结构设计-E-R图向关系模型的转换关系模式:部门(部门号,部门名,经理职工号,)职工(职工号,职工名,性别,部门号)产品(产品号,产品名,规格,组长职工号)供应商(供应商号,名称,电话,地址,)零件(零件号,零件名,规格,型号,)职工工作(职工号,产品号,工作天数,)供应(产品号,零件号,供应商号,供应量,)40405.4 逻辑结构设计2.数据模型的优化 数据库逻辑设计的结果不唯一,要提高数据库应用系统的性能,就应根据应用需要修改和调整数据模型的结构,即做优化工作,而规范化理论是DB逻辑设计的指南和工具。具体方法如下:(1 1)确定数据依赖。根据需求阶段得到的语义,分别写出每个关系模
22、式内部各属性间的数据依赖及不同关系模式属性间的数据依赖。(如:S.S#SC.S#)41415.4 逻辑结构设计-数据模型的优化(2 2)对各关系模式之间的数据依赖进行极小化处理,消除冗余联系。(3 3)按照数据依赖理论对关系模式逐一分析,确定各关系模式的范式级别。(4 4)按需求分析阶段得到的处理要求,分析对于这样的应用环境,这些模式是否合适,确定是否要对它们进行合并或分解。(5 5)对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。42425.4 逻辑结构设计-数据模型的优化常用的分解方法:水平分解 分解规则:根据“80/20原则”,一个大型关系中,经常被使用的数据只是很有限的
23、一部分,把经常使用的数据分解出来,形成一个子关系。若关系R上具有n个事务,且多数事务存取的数据不相交,则R可分解为少于或等于n个子关系,使每个事务存取的数据形成一个关系。43435.4 逻辑结构设计-数据模型的优化 垂直分解:基本原则:把经常在一起使用的属性从R中分解出来形成一个独立的关系模式,可提高某些事务的效率,但也可能使另一些事务不得不执行连接操作而降低效率,因此是否进行垂直分解取决于分解后R上的所有事务的总效率是否得到提高。垂直分解要确保无损连接性和函数依赖保持性。44445.4 逻辑结构设计3.设计用户子模式 经过前面一系列工作,生成了整个应用系统的的模式,还应根据局部用户要求结合具
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 第五 数据库 设计
限制150内