第7章数据库设计

上传人:每**** 文档编号:28257327 上传时间:2021-08-24 格式:PPT 页数:68 大小:226.50KB
返回 下载 相关 举报
第7章数据库设计_第1页
第1页 / 共68页
第7章数据库设计_第2页
第2页 / 共68页
第7章数据库设计_第3页
第3页 / 共68页
点击查看更多>>
资源描述
2021/6/7 1 第七章 数据库设计7.1 数据库设计概述7.2 需求分析7.3 概念结构设计7.4 逻辑结构设计7.5 数据库的物理设计7.6 数据库实施与维护7.7 小结 2021/6/7 2 7.1 数据库设计概述n 1.什么是数据库设计n数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地管理数据,满足各种用户的应用需求(信息要求和处理要求) n在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。 2021/6/7 3 2.数据库设计人员应该具备的技术和知识n 数据库的基本知识和数据库设计技术n 计算机科学的基础知识和程序设计的方法和技巧n 软件工程的原理和方法n 应用领域的知识 2021/6/7 4 3.数据库设计的特点n三分技术,七分管理,十二分基础数据n数据库设计应该与应用系统设计相结合n结构(数据)设计:设计数据库框架或数据库结构n行为(处理)设计:设计应用程序、事务处理等 2021/6/7 5 4.数据库设计的基本步骤数据库设计方法:规范设计方法需求分析阶段n准确了解与分析用户需求(包括数据与处理)n是整个设计过程的基础,是最困难、最耗费时间的一步 2021/6/7 6 4.数据库设计的基本步骤概念结构设计阶段n是整个数据库设计的关键n通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型 2021/6/7 7 4.数据库设计的基本步骤逻辑结构设计阶段n将概念结构转换为某个DBMS所支持的数据模型n对其进行优化 2021/6/7 8 4.数据库设计的基本步骤数据库物理设计阶段n为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法) 2021/6/7 9 4.数据库设计的基本步骤数据库实施阶段n运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果n建立数据库n编制与调试应用程序 n组织数据入库n进行试运行 2021/6/7 10 数据库设计的基本步骤数据库运行和维护阶段n数据库应用系统经过试运行后即可投入正式运行。n在数据库系统运行过程中必须不断地对其进行评价、调整与修改。 2021/6/7 11 7.2 需求分析需求分析就是分析用户的需要与要求n需求分析是设计数据库的起点n需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用 2021/6/7 12 需求分析的任务 通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求; 在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库. 2021/6/7 13 需求分析的重点: 需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。需求分析的难点: 如何确定用户最终的需求? 2021/6/7 14 需求分析的方法n通过多种调查,初步分析用户的需求n分析和表达用户的需要n自顶向下的结构化分析方法(Structured Analysis,简称SA方法)n SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用数据流图和数据字典描述系统。 2021/6/7 15 数据字典 数据字典是各类数据描述的集合;是进行详细的数据收集和数据分析所获得的主要结果;数据字典在数据库设计中占有很重要的地位. 数据字典是关于数据库中数据的描述,是元数据。 数据字典是在需求分析阶段建立的,在数据库设计过程中可以不断地修改、充实和完善。 2021/6/7 16 7.3 概念结构设计7.3.1 概念结构设计概述7.3.2 概念结构设计的方法与步骤7.3.3 数据抽象与局部视图设计7.3.4 视图的集成 2021/6/7 17 什么是概念结构设计n需求分析阶段描述的用户应用需求是现实世界的具体需求n将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计n概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。 2021/6/7 18 现实世界机器世界信息世界需求分析概念结构设计 2021/6/7 19 概念结构设计的特点(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见。 (3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。 (4)易于向关系、网状、层次等各种数据模型转换。描述概念模型的工具:E-R图 2021/6/7 20 概念结构设计的方法与步骤设计概念结构的四类方法 (1)自顶向下:首先定义全局概念结构的框架,然后逐步细化 (2)自底向上: 首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构 2021/6/7 21 概念结构设计的方法与步骤(3)逐步扩张: 首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构(4)混合策略: 将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。 2021/6/7 22 概念结构设计的方法与步骤n常用策略n自顶向下地进行需求分析n自底向上地设计概念结构n自底向上设计概念结构的步骤 n第1步:抽象数据并设计局部视图n第2步:集成局部视图,得到全局概念结构 2021/6/7 23 7.3.3 数据抽象与局部视图设计数据抽象:概念结构是对现实世界的一种抽象,对实际的对象进行处理,抽取出人们感兴趣的共同特征,并用概念精确地加以描述。数据抽象常用的方法:分类;聚集;概括数据抽象的用途: 2021/6/7 24 对需求分析阶段收集到的数据进行分类、组织(聚集),形成n实体n实体的属性,标识实体的码n确定实体之间的联系类型(1:1,1:n,m:n)局部视图的设计:设计分E-R图步骤:选择局部应用;逐一设计分E-R图 2021/6/7 25 选择局部应用n需求分析阶段,已用多层数据流图和数据字典描述了整个系统。n设计分E-R图首先需要根据系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计分E-R图。 2021/6/7 26 选择局部应用(续)n通常以中层数据流图作为设计分E-R图的依据。原因:n高层数据流图只能反映系统的概貌n中层数据流图能较好地反映系统中各局部应用的子系统组成 n低层数据流图过细 2021/6/7 27 n设计分E-R图的步骤n(1)以数据字典为出发点定义E-R图。n 数据字典中的“数据结构”、“数据流”和“数据存储”等已是若干属性的有意义的聚合n(2)按上面给出的准则进行必要的调整 2021/6/7 28 n如何区分实体和属性n实体与属性是相对而言的。同一事物,在一种应用环境中作为“属性”,在另一种应用环境中有可能就必须作为“实体”。 2021/6/7 29 n一般原则n属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成。n属性不能与其他实体具有联系。联系只发生在实体之间。n符合上述两条特性的事物一般作为属性对待。n为了简化E-R图的处置,现实世界中的事物凡能够作为属性对待的,应尽量作为属性。 2021/6/7 30 7.3.4 视图的集成n各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构即总E-R图。 2021/6/7 31 视图集成的两种方式与步骤一次集成:一次集成多个分E-R图;通常用于局部视图比较简单时逐步累积式:首先集成两个局部视图(通常是比较关键的两个局部视图)以后每次将一个新的局部视图集成进来集成局部E-R图的步骤: 1. 合并2. 修改与重构 2021/6/7 32 一、合并分E-R图,生成初步E-R图n各分图存在冲突n原因:各个局部应用所面向的问题不同;由不同的设计人员进行设计合并分E-R图的主要工作与关键所在: 合理消除各分E-R图的冲突冲突的种类:属性冲突,命名冲突;结构冲突 2021/6/7 33 属性冲突n两类属性冲突n属性域冲突:属性值的类型、取值范围或取值集合不同。例1, 由于学号是数字,因此某些部门(即局部应用)将学号定义为整数形式,而由于学号不用参与运算,因此另一些部门(即局部应用)将学号定义为字符型形式。例2, 某些部门(即局部应用)以出生日期形式表示学生的年龄,而另一些部门(即局部应用)用整数形式表示学生的年龄。 2021/6/7 34 属性冲突n属性取值单位冲突例:学生的身高,有的以米为单位,有的以厘米为单位,有的以尺为单位。属性冲突的解决方法:通常用讨论、协商等行政手段加以解决 2021/6/7 35 命名冲突n两类命名冲突n同名异义:不同意义的对象在不同的局部应用中具有相同的名字 例,局部应用A中将教室称为房间 局部应用B中将学生宿舍称为房间 n异名同义(一义多名):同一意义的对象在不同的局部应用中具有不同的名字 2021/6/7 36 n命名冲突可能发生在属性级、实体级、联系级上。其中属性的命名冲突更为常见。命名冲突的解决方法:通过讨论、协商等行政手段加以解决 2021/6/7 37 结构冲突n三类结构冲突n同一对象在不同应用中具有不同的抽象n同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同n实体之间的联系在不同局部视图中呈现不同的类型 2021/6/7 38 二、修改与重构n基本任务n消除不必要的冗余,设计生成基本E-R图合并初步E-R图分E-R图可能存在冗余的数据和冗余的实体间联系基本E-R图消除不必要的冗余 2021/6/7 39 n冗余包括冗余的数据和冗余的联系冗余的消除: 分析方法和规范化理论 2021/6/7 40 三、验证整体概念结构n视图集成后形成一个整体的数据库概念结构,对该整体概念结构还必须进行进一步验证,确保它能够满足下列条件:n整体概念结构内部必须具有一致性,不存在互相矛盾的表达。n整体概念结构能准确地反映原来的每个视图结构,包括属性、实体及实体间的联系。 n整体概念结构能满足需求分析阶段确定的所有要求 2021/6/7 41 概念结构设计小结现实世界机器世界信息世界需求分析概念结构设计什么是概念结构设计 2021/6/7 42 n概念结构设计的步骤n抽象数据并设计局部视图n集成局部视图,得到全局概念结构n验证整体概念结构 2021/6/7 43 n数据抽象n分类n聚集n概括 2021/6/7 44 n设计局部视图n 选择局部应用n 逐一设计分E-R图n标定局部应用中的实体、属性、码,实体间的联系n用E-R图描述出来 2021/6/7 45 n集成局部视图n 1.合并分E-R图,生成初步E-R图n消除冲突n属性冲突n命名冲突n结构冲突n 2. 修改与重构 n消除不必要的冗余,设计生成基本E-R图n分析方法n规范化理论 2021/6/7 46 7.4 逻辑结构设计n逻辑结构设计的任务n把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构 2021/6/7 47 逻辑结构设计的步骤n 将概念结构转化为一般的关系、网状、层次模型n将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换 n对数据模型进行优化 2021/6/7 48逻辑结构设计时的3个步骤 2021/6/7 49 E-R图向关系模型的转换n E-R图向关系模型的转换要解决的问题 n如何将实体型和实体间的联系转换为关系模式n如何确定这些关系模式的属性和码 n转换内容 n将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转换为关系模式。 2021/6/7 50 转换原则 一个实体型转换为一个关系模式。:实体型的属性:实体型的码 2021/6/7 51 E-R图实例:某工厂物资管理E-R图成绩库存量成绩工作领导库存供应姓名地址电话帐号供应商仓库号库名仓库职工号姓名年龄职工项目 项目号预算日期零件零件号名称规格单价mn k 1 nmn 1 n 2021/6/7 52 转换规则 一个m:n联系转换为一个关系模式。:与该联系相连的各实体的码以及联系本身的属性:各实体码的组合 2021/6/7 53 转换规则 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。n 1) 转换为一个独立的关系模式:与该联系相连的各实体的码以及联系本身的属性;:n端实体的码n 2) 与n端对应的关系模式合并:在n端关系中加入1端关系的码和联系本身的属性;:不变 n 可以减少系统中的关系个数,一般情况下更倾向于采用这种方法 2021/6/7 54 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。n 1) 转换为一个独立的关系模式:与该联系相连的各实体的码以及联系本身的属性;:每个实体的码均是该关系的候选码n 2) 与某一端对应的关系模式合并:加入对应关系的码和联系本身的属性;:不变 2021/6/7 55 注意:u从理论上讲,1:1联系可以与任意一端对应的关系模式合并。u但在一些情况下,与不同的关系模式合并效率会大不一样。因此究竟应该与哪端的关系模式合并需要依应用的具体情况而定。u由于连接操作是最费时的操作,所以一般应以尽量减少连接操作为目标。 2021/6/7 56 三个或三个以上实体间的一个多元联系转换为一个关系模式。:与该多元联系相连的各实体的码以及联系本身的属性:各实体码的组合 2021/6/7 57 n 同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。 具有相同码的关系模式可合并。n目的:减少系统中的关系个数。例题: 在ER模型中,如果有7个不同实体集,有9个不同的二元联系,其中3个1 N联系,3个1 1联系,3个M N联系,根据ER模型转换成关系模型的规则,转换成关系的数目是( )A.7 B.10 C.13 D.16 2021/6/7 58 向特定DBMS规定的模型进行转换n一般的数据模型还需要向特定DBMS规定的模型进行转换。n转换的主要依据是所选用的DBMS的功能及限制。没有通用规则。n对于关系模型来说,这种转换通常都比较简单。 2021/6/7 59 7.4.2 数据模型的优化n得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化n关系数据模型的优化通常以规范化理论为指导 2021/6/7 60 数据模型的优化(续)n优化数据模型的方法v确定数据依赖v按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖 v消除冗余的联系 2021/6/7 61 3.确定所属范式4.按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。并不是规范化程度越高的关系就越优,一般说来,第三范式就足够了 2021/6/7 62 v按照需求分析阶段得到的各种应用对数据处理的要求,对关系模式进行必要的分解,以提高数据操作的效率和存储空间的利用率n常用分解方法水平分解垂直分解 2021/6/7 63 7.4.3 设计用户子模式n定义数据库模式主要是从系统的时间效率、空间效率、易维护等角度出发。n定义用户外模式时应该更注重考虑用户的习惯与方便。包括三个方面:(1)使用更符合用户习惯的别名(2) 针对不同级别的用户定义不同的View ,以满足系统对安全性的要求。 (3) 简化用户对系统的使用 2021/6/7 64 2021/6/7 65 2021/6/7 66 2021/6/7 67 部分资料从网络收集整理而来,供大家参考,感谢您的关注!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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