第7章1数据库设计-数据库系统概论-课件.ppt

上传人:知****量 文档编号:73766359 上传时间:2023-02-22 格式:PPT 页数:97 大小:1.19MB
返回 下载 相关 举报
第7章1数据库设计-数据库系统概论-课件.ppt_第1页
第1页 / 共97页
第7章1数据库设计-数据库系统概论-课件.ppt_第2页
第2页 / 共97页
点击查看更多>>
资源描述

《第7章1数据库设计-数据库系统概论-课件.ppt》由会员分享,可在线阅读,更多相关《第7章1数据库设计-数据库系统概论-课件.ppt(97页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库系统概论数据库系统概论AnIntroductiontoDatabaseSystem第七章第七章 数据库设计数据库设计第七章 数据库设计7.1 数据库设计概述7.2 需求分析7.3 概念结构设计7.4 逻辑结构设计7.5 数据库的物理设计7.6 设计实例数据库设计概述p什么是数据库设计(P198 狭义定义)数据库设计是指数据库各级模式的设计,是数据库应用系统设计的一部分。各级模式:概念模式、模式、外模式和内模式。7.1 数据库设计概述7.1.1 7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法7.1.3 数据库设计的基本步骤IPO表输入:输出:处理:CreatLoad

2、Main()ifthenend分区1分区2逻辑结逻辑结构设计构设计概念概念结构结构设计设计物理物理设计设计设设计计阶阶段段设设计计描描述述数数据据处处理理需需 求求分分析析数据字典、全系统中数据项、数据字典、全系统中数据项、数据流、数据存储的描述数据流、数据存储的描述数数据据流流图图和和判判定定表表(判判定定树树)、数数据字典中处理过程的描述据字典中处理过程的描述概念模型(概念模型(E-R图)图)数据字典数据字典系统说明书包括:系统说明书包括:新系统要求、新系统要求、方案和概图方案和概图反映新系统信息反映新系统信息流的数据流图流的数据流图某种数据模型某种数据模型关系关系非关系非关系系统结构图系

3、统结构图(模块结构)(模块结构)存储安排存储安排方法选择方法选择存取路径建立存取路径建立模块设计模块设计IPO表表实施实施阶段阶段编写模式编写模式装入数据装入数据数据库试运行数据库试运行程序编码、程序编码、编译联结、编译联结、测试测试运运行行、维护维护性能监测、转储性能监测、转储/恢复恢复数据库重组和重构数据库重组和重构新新旧旧系系统统转转换换、运运行行、维维护护(修修正正性性、适应性、改善性维护)适应性、改善性维护)7.1.2 数据库设计方法p数据库设计人员应该具备的技术和知识n数据库的基本知识和数据库设计技术n计算机科学的基础知识和程序设计的方法和技巧n软件工程的原理和方法n应用领域的知识

4、7.1.2 数据库设计方法(续)p手工试凑法p基于E-R模型的数据库设计方法n概念设计,是目前广泛使用的方法p3NF的设计方法n采用关系数据库理论的方法来指导逻辑模型设计pODL(Object Definition Language)方法n面向对象的数据库设计方法n直接转换为面向对象的数据库数据库设计的基本步骤(续)需求分析阶段n准确了解与分析用户需求(包括数据与处理)n是整个设计过程的基础,是最困难、最耗费时间的一步数据库设计的基本步骤(续)概念结构设计阶段n是整个数据库设计的关键n通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型数据库设计的基本步骤(续)数据库物理设

5、计阶段n为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储安排和存取方法)7.2 需求分析7.2.1 需求分析的任务7.2.2常用调查方法7.2.1 需求分析的任务一、需求分析的任务二、需求分析的重点三、需求分析的难点二、需求分析的重点p需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。p 信息要求n用户需要从数据库中获得信息的内容与性质n由用户的信息要求可以导出数据要求,即在数据库中需要存储哪些数据需求分析的重点(续)p处理要求n对处理功能的要求n对处理的响应时间的要求n对处理方式的要求(批处理/联机处理)p新系统的功能必须能够满足用户的信息要求

6、、处理要求、安全性与完整性要求。三、需求分析的难点p确定用户最终需求的难点n用户缺少计算机知识,开始时无法确定计算机究竟能为自己做什么,不能做什么,因此无法一下子准确地表达自己的需求,他们所提出的需求往往不断地变化。n设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。n新的硬件、软件技术的出现也会使用户需求发生变化。7.2 需求分析7.2.1 需求分析的任务7.2.2常用调查方法7.2.2常用调查方法(续)p常用调查方法跟班作业n通过亲身参加业务工作了解业务活动的情况n能比较准确地理解用户的需求,但比较耗时开调查会n通过与用户座谈来了解业务活动情况及用户需求请专人介绍第七

7、章 数据库设计7.1 数据库设计概述7.2 需求分析7.3 概念结构设计7.4 逻辑结构设计7.5 数据库的物理设计7.6 设计实例7.3 概念结构设计7.3.1 概念结构设计概述7.3.2 概念结构设计的方法与步骤7.3.3 数据抽象与局部视图(局部概念模型)设计7.3.4局部视图的集成7.3.1 概念结构p什么是概念结构设计n需求分析阶段描述的用户应用需求是现实世界的具体需求n将需求分析得到的用户需求抽象为概念模型的过程就是概念结构设计n概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。n概念结构设计是整个数据库设计的关键概念结构(续)p概念结构设计的特点(

8、1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。概念结构(续)p概念结构设计的特点(续)(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。(4)易于向关系等各种数据模型转换。7.3 概念结构设计7.3.1 概念结构设计概述7.3.2 概念结构设计的方法与步骤7.3.3 数据抽象与局部视图设计7.3.4 视图的集成7.3.2 概念结构设计的方法与步骤p设计概念结构的四类方法n自顶向下p 首先定义全局概念结构的框架,

9、然后逐步细化n自底向上p 首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构概念结构设计的方法与步骤(续)n逐步扩张p 首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构n混合策略p 将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。概念结构设计的方法与步骤(续)自顶向下策略概念结构设计的方法与步骤(续)自底向上策略 概念结构设计的方法与步骤(续)逐步扩张逐步扩张概念结构设计的方法与步骤(续)p常用策略(P211图7.8)n自底向上地设计概念结构p自底向上设计概

10、念结构的步骤 (P211图7.9)n第1步:抽象数据并设计局部视图n第2步:集成局部视图,得到全局概念结构7.3 概念结构设计7.3.1 概念结构设计概述7.3.2 概念结构设计的方法与步骤7.3.3 局部视图设计7.3.4 视图的集成7.3.3 局部视图设计p数据抽象p局部视图设计局部视图设计设计分E-R图的步骤:选择局部应用逐一设计分E-R图 选择局部应用p需求分析阶段,已用多层数据流图和数据字典描述了整个系统。p设计分E-R图首先需要根据系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计分E-R图。选择

11、局部应用(续)p通常以中层数据流图作为设计分E-R图的依据。原因:n高层数据流图只能反映系统的概貌n中层数据流图能较好地反映系统中各局部应用的子系统组成n低层数据流图过细逐一设计分E-R图p抽象实体和属性n实体:现实世界中一组具有某些共同特性和行为的对象就可以抽象为一个实体。对象和实体之间是“is member of的关系。例:在学校环境中,可把张三、李四等对象抽象为学生实体。逐一设计分E-R图(续)n属性:对象类型的组成成分可以抽象为实体的属性。组成成分与对象类型之间是“is part of的关系。例:学号、姓名、专业、年级等可以抽象为学生实体的属性。其中学号为标识学生实体的码。逐一设计分E

12、-R图(续)p如何区分实体和属性n实体与属性是相对而言的。同一事物,在一种应用环境中作为“属性”,在另一种应用环境中就必须作为“实体”。例:学校中的系,在某种应用环境中,它只是作为“学生”实体的一个属性,表明一个学生属于哪个系;而在另一种环境中,由于需要考虑一个系的系主任、教师人数、学生人数、办公地点等,这时它就需要作为实体了。逐一设计分E-R图(续)n一般原则p属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成。p属性不能与其他实体具有联系。联系只发生在实体之间。n符合上述两条特性的事物一般作为属性对待。n为了简化E-R图的处置,现实世界中的事物凡能够作为属性对

13、待的,应尽量作为属性。逐一设计分E-R图(续)n举例例1:“学生”由学号、姓名等属性进一步描述,根据准则,“学生”只能作为实体,不能作为属性。例2:职称通常作为教师实体的属性,但在涉及住房分配时,由于分房与职称有关,也就是说职称与住房实体之间有联系,根据准则,这时把职称作为实体来处理会更合适些。(教材214图7.15)7.3 概念结构设计7.3.1 概念结构7.3.2 概念结构设计的方法与步骤7.3.3 数据抽象与局部视图设计7.3.4 视图的集成7.3.4 视图的集成p各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构即总E-R图。视图的集成(续)p集成局部

14、E-R图的步骤1.合并2.修改与重构视图的集成(续)一、合并分E-R图,生成初步E-R图p各分图存在冲突n各个局部应用所面向的问题不同由不同的设计人员进行设计各个分E-R图之间必定会存在许多不一致的地方n合并分E-R图的主要工作与关键所在:合理消除各分E-R图的冲突合并分E-R图,生成初步E-R图(续)p冲突的种类n属性冲突n命名冲突n结构冲突 属性冲突p两类属性冲突n属性域冲突:属性值的类型、取值范围或取值集合不同。n属性取值单位冲突。命名冲突p两类命名冲突n同名异义:不同意义的对象在不同的局部应用中具有相同的名字 例,局部应用A中将教室称为房间 局部应用B中将学生宿舍称为房间n异名同义(一

15、义多名):同一意义的对象在不同的局部应用中具有不同的名字 例,有的部门把教科书称为课本 有的部门则把教科书称为教材 结构冲突p三类结构冲突n同一对象在不同应用中具有不同的抽象n同一实体在不同局部视图中所包含的属性不完全相同。n实体之间的联系在不同局部视图中呈现不同的类型二、修改与重构p基本任务n消除不必要的冗余,设计生成基本E-R图合并合并初步初步E-R图图分分E-R图图可能存在冗余的数据可能存在冗余的数据和冗余的实体间联系和冗余的实体间联系基本基本E-R图图消除不必要的冗余消除不必要的冗余冗余p冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。p冗余数据和冗余联系容

16、易破坏数据库的完整性,给数据库维护增加困难p并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高某些应用的效率,不得不以冗余信息作为代价。消除冗余,设计生成基本E-R图实例冗余数据:(1)学生实体中的年龄属性可以由出生日期推算出来,属于冗余数据,应该去掉。这样不仅可以节省存储空间,而且当某个学生的出生日期有误,进行修改后,无须相应修改年龄,减少了产生数据不一致的机会。学生:学号,姓名,出生日期,所在系,年级,平均成绩消除冗余,设计生成基本E-R图实例(续)冗余联系(2)辅导员与学生的联系,可以由以下联系推导出来,属于冗余联系,可以消去。班级与辅导员之间的管理联系 班级与学生之间的所属联系

17、 概念结构设计小结p什么是概念结构设计现实世界现实世界机器世界机器世界信息世界信息世界需求分析需求分析概念结构设计概念结构设计概念结构设计小结p概念结构设计的步骤n设计局部视图n集成局部视图概念结构设计小结p设计局部视图n 选择局部应用n 逐一设计分E-R图p标定局部应用中的实体、属性、码,实体间的联系p用E-R图描述出来概念结构设计小结p集成局部视图n1.合并分E-R图,生成初步E-R图p消除冲突属性冲突命名冲突结构冲突n2.修改与重构p消除不必要的冗余,设计生成基本E-R图分析方法规范化理论第七章 数据库设计7.1 数据库设计概述7.2 需求分析7.3 概念结构设计7.4 逻辑结构设计7.

18、5 数据库的物理设计7.6 设计实例7.4 逻辑结构设计p逻辑结构设计的任务n概念结构是各种数据模型的共同基础n为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的逻辑数据模型,这正是数据库逻辑结构设计所要完成的任务。7.4 逻辑结构设计p逻辑结构设计的步骤n将概念结构转化为一般的(关系)逻辑模型n对逻辑数据模型进行优化7.4 逻辑结构设计三个步骤 逻辑结构设计逻辑结构设计转化为转化为一般数一般数据模型据模型转化为特转化为特定定DBMS支持下的支持下的据模型据模型优化模优化模型型概念结概念结构设计构设计数据库数据库物理设计物理设计基本基本E-R图图转换规转换规则则特定特定DB

19、MS的的特点与限特点与限制制优化方优化方法如规法如规范化理范化理论论逻辑逻辑模型模型7.4 逻辑结构设计7.4.1 E-R图向关系模型的转换7.4.2 数据模型的优化7.4.3 设计用户子模式7.4.1 E-R图向关系模型的转换p转换内容p转换原则E-R图向关系模型的转换(续)p转换内容nE-R图由实体、实体的属性和实体之间的联系三个要素组成n关系模型的逻辑结构是一组关系模式的集合n将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。E-R图向关系模型的转换(续)p转换原则 一个实体集转换为一个关系模式。n n关系的属性关系的属性:实体型的属性n n关系的码关系的码:实

20、体型的码E-R图向关系模型的转换(续)一个m:n联系转换为一个关系模式。n n关系的属性关系的属性:与该联系相连的各实体的码以及联系本身的属性n n关系的码关系的码:各实体码的组合 E-R图向关系模型的转换(续)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。n1)转换为一个独立的关系模式pp关系的属性关系的属性:与该联系相连的各实体的码以及联系本身的属性pp关系的码关系的码:n端实体的码E-R图向关系模型的转换(续)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。n2)与n端对应的关系模式合并pp合并后关系的属性合并后关系的属性:在n端

21、关系中加入1端关系的码和联系本身的属性pp合并后关系的码合并后关系的码:不变n可以减少系统中的关系个数,一般情况下更倾向于采用这种方法E-R图向关系模型的转换(续)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。n1)转换为一个独立的关系模式pp关系的属性关系的属性:与该联系相连的各实体的码以及联系本身的属性pp关系的候选码关系的候选码:每个实体的码均是该关系的候选码E-R图向关系模型的转换(续)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。n2)与某一端对应的关系模式合并pp合并后关系的属性合并后关系的属性:加入对应关系的码和

22、联系本身的属性pp合并后关系的码合并后关系的码:不变E-R图向关系模型的转换(续)三个或三个以上实体间的一个多元联系转换为一个关系模式。n n关系的属性关系的属性:与该多元联系相连的各实体的码以及联系本身的属性n n关系的码关系的码:各实体码的组合 E-R图向关系模型的转换(续)同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。E-R图向关系模型的转换(续)具有相同码的关系模式可合并。n目的:减少系统中的关系个数。n合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。7.4 逻辑

23、结构设计7.4.1 E-R图向关系模型的转换7.4.2 数据模型的优化7.4.3 设计用户子模式7.4.2 数据模型的优化p数据库逻辑设计的结果不是唯一的。p得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化。p关系数据模型的优化通常以规范化理论为指导。数据模型的优化(续)p优化数据模型的方法 确定数据依赖n按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖。数据模型的优化(续)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。数据模型的优化(续)按照数据依赖的理论对

24、关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。例如经过分析可知,课程关系模式属于?范式。数据模型的优化(续)按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。数据模型的优化(续)n并不是规范化程度越高的关系就越优。p当一个应用的查询中经常涉及到两个或多个关系模式的属性时,系统必须经常地进行联接运算,而联系运算的代价是相当高的,可以说关系模型低效的主要原因就是做联接运算引起的,因此在这种情况下,第二范式甚至第一范式也许是最好的。数据模型的优化(续)p非BCNF的关系模

25、式虽然从理论上分析会存在不同程度的更新异常,但如果在实际应用中对此关系模式只是查询,并不执行更新操作,则就不会产生实际影响。p对于一个具体应用来说,到底规范化进行到什么程度,需要权衡响应时间和潜在问题两者的利弊才能决定。一般说来,第三范式就足够了。7.4 逻辑结构设计7.4.1 E-R图向关系模型的转换7.4.2 数据模型的优化7.4.3 设计用户子模式7.4.3 设计用户子模式p定义数据库模式主要是从系统的时间效率、空间效率、易维护等角度出发。p定义用户外模式时应该更注重考虑用户的习惯与方便。包括三个方面:设计用户子模式(续)(1)使用更符合用户习惯的别名(2)针对不同级别的用户定义不同的外

26、模式,以满足系统对安全性的要求。(3)简化用户对系统的使用逻辑结构设计小结p任务n将概念结构转化为具体的数据模型p逻辑结构设计的步骤n将概念结构转化为一般的关系、网状、层次逻辑模型n对逻辑模型进行优化n设计用户子模式逻辑结构设计小结pE-R图向关系模型的转换内容n将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。逻辑结构设计小结pE-R图向关系模型的转换原则 一个实体型转换为一个关系模式。一个m:n联系转换为一个关系模式。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模

27、式合并。逻辑结构设计小结pE-R图向关系模型的转换原则 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。具有相同码的关系模式可合并。逻辑结构设计小结p优化数据模型的方法 确定数据依赖 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。确定各关系模式分别属于第几范式。分析对于应用环境这些模式是否合适,确定是否要对它们进行合并或分解。对关系模式进行必要的分解或合并逻辑结构设计小结p设计用户子模式1.使用更符合用户习惯的别名2.针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求。3.简化用户对系统的使用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁