数据库原理课件CHAPTER7.pps_第1页
数据库原理课件CHAPTER7.pps_第2页
数据库原理课件CHAPTER7.pps_第3页
数据库原理课件CHAPTER7.pps_第4页
数据库原理课件CHAPTER7.pps_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

第 7 章 数据库设计,7.1 数据库设计 7.2 数据库需求分析 7.3 数据库结构设计 7.4 数据库行为设计 7.5 数据库的实施和维护,7.1 数据库设计,7.1.1 数据库设计的特点 7.1.2 数据库设计方法概述 7.1.3 数据库设计的基本步骤,数据库设计,数据库设计中面临的主要困难和问题有: 懂得计算机与数据库的人一般都缺乏应用业务知识和实际经验,而对应用业务熟悉的人又往往不懂计算机和数据库。同时具有这两方面知识的人是很少的。 应用业务的数据库系统的目标是什么在一开始往往不能很明确。 缺乏很完善的设计工具和方法。 用户的要求往往并不是一开始就能完全说清楚。 应用业务系统千差万别,很难找到一种适合所有应用业务的工具和方法。,数据库设计,设计成功的数据库系统应具备如下一些特点 功能强大。 能准确地表示业务数据。 容易使用和维护。 对最终用户操作的响应时间合理。 便于数据库结构的改进。 便于数据的检索和修改。 较少的数据库维护工作。 有效的安全机制能确保数据安全。 冗余数据最少和不存在。 便于数据的备份和恢复。 数据库结构对最终用户透明。,数据库设计,数据库设计的特点 1综合性 数据库设计涉及的面很广,它需要包含计算机专业知识及业务系统专业知识;同时它还要解决技术及非技术两方面的问题。 2静态结构设计与动态行为设计是分离的 静态结构设计是指数据库的模式结构设计,包括概念结构、逻辑结构和存储结构;动态行为设计是指应用程序设计,包括功能组织、流程控制等。,数据库设计,数据库设计的特点: 实体的静态特性是在模式或子模式中定义的; 实体的动态行为是在存取数据库的程序中重复设计和实现的; 程序和数据不易结合; 数据库设计较为复杂; 结构设计和行为设计是分离进行的。,数据库设计,数据库设计方法概述 为了使数据库设计更合理更有效,需要有效的指导原则,这种原则就称为数据库设计方法学。 首先,一个好的数据库设计方法学,应该能在合理的期限内,以合理的工作量,产生一个有实用价值的数据库结构。其次,数据库设计方法学还应具有足够的灵活性和通用性。最后,数据库设计方法学应该是可再生的。 数据库设计方法中比较著名的有新奥尔良(New Orleans)方法,这种方法将数据库设计分为四个阶段:需求分析、概念结构设计、逻辑结构设计和物理结构设计。如图7-2所示。,数据库设计,规范设计法从本质上看仍然是手工设计方法,其基本思想是过程迭代和逐步求精。 数据库设计的基本步骤 需求分析 概念结构设计 逻辑结构设计 物理设计 数据库实施 数据库运行和维护 设计一个完善的数据库应用系统不可能一蹴而就,它往往是上述六个过程的不断反复。,数据库设计,需求分析主要是收集信息并进行分析和整理,为后续的各个阶段提供充足的信息。概念结构设计是对需求分析的结果进行综合、归纳形成一个独立于具体的DBMS的概念模型。逻辑结构设计是将概念结构设计的结果转换为某个具体的DBMS所支持的数据模型,并对其进行优化。物理数据库设计是为逻辑结构设计的结果选取一个最适合应用环境的数据库物理结构。数据库实施是设计人员运用DBMS提供的数据语言以及数据库开发工具,根据逻辑设计和物理设计的结果建立数据库,编制应用程序,组织数据入库并进行试运行。数据库运行和维护阶段是指将已经过试运行的数据库应用系统投入正式使用,在数据库应用系统的使用过程中不断对其进行调整、修改和完善。,7.2 数据库需求分析,7.2.1 需求分析的任务 7.2.2 需求调查,数据库需求分析,需求分析的任务 需求分析阶段的主要任务是对现实世界要处理的对象(公司,部门,企业)进行详细调查,在了解现行系统的概况、确定新系统功能的过程中,收集支持系统目标的基础数据及其处理方法。需求分析是在用户调查的基础上,通过分析,逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。 用户调查的重点是“数据”和“处理”。通过调查要从用户那里获得对数据库的下列要求: 信息需求 处理需求 安全性与完整性要求,数据库需求分析,需求分析的任务 在需求分析中,通过自顶向下、逐步分解的方法分析系统。任何一个系统都可以抽象为图7-3所示的数据流图的形式。 数据流图是从“数据”和“处理”两方面表达数据处理的一种图形化表示方法。在需求分析阶段,不必确定数据的具体存储方式,这些留待后边的物理数据库设计考虑。数据流图中的“处理”抽象地表达了系统的功能需求。,数据库需求分析,需求分析的任务 需求分析是整个数据库设计中最重要的一步,是其它各步骤的基础。其困难之处不是在技术上,而在于要了解、分析、表达客观世界并非易事。这也是数据库自动生成工具的研究中最困难的部分。 需求调查 需求分析首先要调查清楚用户的实际需求,与用户达成共识,然后再分析和表达这些需求。 需求调查的重点是“数据”和“处理”,但为了达到这一目的,在调查前要拟定调查提纲。调查时要抓住两个“流”,即“信息流”和“处理流”,而且调查中要不断地将这两个“流”结合起来。,数据库需求分析,需求调查 需求调查的任务是调研现行系统的业务活动规则,并提取出描述系统业务的现实系统模型。 通常需求调查包括: 1业务现状 业务现状包括:业务方针政策,系统的组织机构,业务内容,约束条件和各种业务的全过程。 2信息源流 信息源流包括:各种数据的种类、类型及数据量,各种数据的源头、流向和终点,各种数据的产生、修改、查询及更新过程和频率以及各种数据与业务处理的关系。 3. 外部要求 外部要求包括:对数据保密性的要求,对数据完整性的要求,对查询响应时间的要求,对新系统使用方式的要求,对输入方式的要求,对输出报表的要求,对各种数据精度的要求,对吞吐量的要求,对未来功能、性能及应用范围扩展的要求。,数据库需求分析,需求调查 在进行需求调查时,实际上就是发现现行业务系统的运作事实。常用的发现事实的方法有: 1检查文档 2面谈 3观察业务的运转 4研究 5问卷调查,7.3 数据库结构设计,7.3.1 概念结构设计 7.3.2 逻辑结构设计 7.3.3 物理结构设计,数据库结构设计,概念结构设计 概念设计的特点和策略 概念结构设计的任务是产生反映企业组织信息需求的数据库概念结构,即概念模型。 1概念模型的特点 有丰富的语义表达能力。 易于交流和理解。 易于更改,当应用环境和应用要求发生变化时,能很容易对概念模型进行修改,以反映这些变化。 易于向各种数据模型转换,易于导出与DBMS有关的逻辑模型。,数据库结构设计,概念结构设计 2概念结构设计的策略 自底向上。先定义每个局部应用的概念结构,然后按一定的规则把它们集成起来,从而得到全局概念模型。 自顶向下:先定义全局概念模型,然后再逐步细化。 由里向外:先定义最重要的核心结构,然后再逐步向外扩展。 混合策略:将自顶向下和自底向上结合起来使用。先用自顶向下设计一个概念结构的框架,然后以它为框架再用自底向上设计局部概念结构,并把它们集成。 最常用的设计策略是自底向上策略。,数据库结构设计,概念结构设计 概念结构设计是用集合概念,抽取出现实业务系统的元素及其应用语义关联,最终形成E-R模型。 采用E-R模型方法的概念结构设计 采用E-R方法的概念结构设计可分为如下三步: 设计局部E-R模型。局部E-R模型的设计内容包括确定局部E-R模型的范围、定义实体、联系以及它们的属性。 设计全局E-R模型。这一步是将所有局部E-R图集成为一个全局E-R图,即全局E-R模型。 优化全局E-R模型,数据库结构设计,概念结构设计 1. 设计局部E-R模型 概念结构是对现实世界的一种抽象。 一般由三种抽象方法: (1)分类(Classification) 定义某一类概念作为现实世界中一组对象的类型,这些对象具有某些共同的特性和行为。它抽象的是对象值和型之间的“Is a mumber of”的语义。 (2)概括(Generalization) 定义实体之间的一种子集联系,它抽象了实体之间的“is a subset of”的语义。 (3)聚集(Aggregation) 定义某一类型的组成成分,它抽象了对象内部类型和成分之间的“is a part of”语义。,数据库结构设计,概念结构设计 2. 设计全局E-R模型 把局部E-R图集成为全局E-R图时,可以采用一次将所有的E-R图集成在一起发方式。 当将局部E-R图集成为全局E-R图时,需要消除各分E-R图合并时产生的冲突。 各分E-R图之间的冲突主要有三类: 属性冲突:包括: 属性域冲突。即属性的类型、取值范围和取值集合不同。 属性取值单位冲突。 命名冲突:包括同名异义和异名同义 结构冲突:包括: 同一对象在不同应用中具有不同的抽象。 同样一实体在不同的局部E-R图中所包含的属性个数和属性的排列次序不完全相同。,数据库结构设计,概念结构设计 3.优化全局E-R模型 一个好的全局E-R模型除了能反映用户功能需求外,还应满足如下条件: 实体个数尽可能少; 实体所包含的属性尽可能少; 实体间联系无冗余。 优化的目的就是要满足上述三个条件,即相关实体的合并,一般是把具有相同主码的实体进行合并。,数据库结构设计,逻辑结构设计 逻辑结构设计的任务是把概念结构设计阶段设计好的基本E-R图转换为具体的数据库管理系统支持的数据模型,也就是导出特定的DBMS可以处理数据库的逻辑结构。 逻辑结构设计一般包含两个步骤: 将概念模型转换为某种组织层数据模型; 对数据模型进行优化。,数据库结构设计,逻辑结构设计 E-R模型向关系模型的转换 一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。 对于实体间的联系有以下不同的情况: 一个1:1联系可以转换为一个独立的关系模式,也可以于任意一端对于的关系模式合并。 一个1:n联系可以转换为一个独立的关系模式,也可以与任意n端所对应的关系模式合并。 一个m:n联系转换为一个关系模式。 具有系统码的关系模式可以合并。,数据库结构设计,数据模型的优化 逻辑结构设计的结果并不是唯一的,为了进一步提高数据库应用系统的性能,还应该根据应用的需要对逻辑数据模型进行适当的修改和调整,这就是数据模型的优化。关系数据模型的优化通常以规范化里理论为指导,并考虑系统的性能。方法为: 确定各属性间的数据依赖。 对各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 判断每个关系模式的范式,根据实际需要确定最合适的范式。 根据需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否要对某些模式进行分解或合并。 对关系模式进行必要的分解,以提高数据的操作效率和存储空间的利用率。,数据库结构设计,逻辑结构设计 通常的两种分解方法是水平分解和垂直分解。,数据库结构设计,逻辑结构设计 设计外模式 将概念模型转换为逻辑数据模型之后,还应该根据局部应用需求,并结合具体的数据库管理系统的特点,设计用户的外模式。 在定义外模式时可以考虑: 1.使用更符合用户习惯的别名 2.对不同级别的用户定义不同的视图,以保证数据的安全 3.简化用户对系统的使用,数据库结构设计,物理结构设计 数据库的物理设计是对已确定的逻辑数据结构,利用DBMS提供的方法、技术,以较优的存储结构、数据存取路径、合理的数据存储位置以及存储分配,设计出一个高效的、可实现的物理数据库结构。 数据库的物理设计通常分为两步: 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构; 对物理结构进行评价,评价的重点是时间和空间效率。,数据库结构设计,物理结构设计的内容和方法 在设计数据库时首先要对经常用到的查询和对数据进行更新的事务进行详细地分析,获得物理结构设计所需的各种参数。其次,要充分了解所使用的DBMS的内部特征,特别是系统提供的存取方法和存储结构。 对于数据查询,需要得到如下信息: 查询所涉及的关系; 查询条件所涉及的属性; 连接条件所涉及的属性; 查询列表中涉及的属性。 对于更新数据的事务,需要得到如下信息: 更新所涉及的关系; 每个关系上的更新条件所涉及的属性; 更新操作所涉及的属性。,数据库结构设计,物理结构设计的内容和方法 通常关系数据库的物理结构设计主要包括如下内容: 确定数据的存取方法; 确定数据的存储结构。 1.确定存取方法 存取方法是快速存取数据库中的数据的技术,数据库管理系统一般都提供多种存取方法 。具体采取哪种存取方法由系统根据数据的存储方式来决定,一般用户不能干预。 2.确定存储结构 一般的存储方式有:顺序存储; 散列存储; 聚簇存储。,数据库结构设计,物理结构设计 物理结构设计的评价 物理结构设计过程中要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案,数据库设计者必须对这些方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。 评价物理结构设计的方法完全依赖于具体的DBMS,主要考虑的是操作开销,即为使用户获得及时、准确的数据所需的开销和计算机的资源的开销。具体可分为如下几类:,数据库结构设计,物理结构设计的评价 查询和响应时间 响应时间是从查询开始到查询结果开始显示之间所经历的时间。 更新事务的开销 主要是修改所以、重写物理块或文件以及写校验等方面的开销。 生成报告的开销 主要包括索引、重组、排序和结果显示的开销。 主存储空间的开销 包括程序和数据所占用的空间。 辅助存储空间的开销 辅助存储空间分为数据块和索引块两种,7.4 数据库行为设计,7.4.1 功能需求分析 7.4.2 功能设计 7.4.3 事务设计,数据库行为设计,数据库行为设计一般分为如下几步: 功能需求分析; 功能设计; 事务设计; 应用程序实现。 我们主要讨论前三步。,数据库行为设计,功能需求分析 对于行为特性要进行如下分析: 1.标识所有的查询、报表、事务及动态特性,指出对数据库所要进行的各种处理; 2.指出对每个实体所进行的操作(增、删、改、查); 3.给出每个操作的语义; 4.给出每个操作(针对某一对象)的频率; 5.给出每个操作(针对某一应用)的响应是时间; 6.给出该系统总的目标。,数据库行为设计,功能设计 系统目标的实现是通过系统的各功能模块的作用来达到的。由于每个系统功能又可以划分为若干个更具体的功能模块,因此,可以从目标开始,一层一层分解下去,直到每个子功能模块只执行一个具体的任务。通常我们按功能关系画成的图叫功能结构图。,数据库行为设计,功能设计 事务设计 事务处理是计算机模拟人处理事务的过程,它包括输入设计、输出设计、功能设计等。功能设计前边已介绍。 1输入设计 系统中的很多错误都是由于输入不当而引起的,因此设计好输入是减少系统错误的一个重要方面。因此,在进行输入设计时应作如下几方面工作: 原始单据的设计格式。对于原有的单据,表格要根据新系统的要求重新设计,其设计的原则是:简单明了,便于填写,尽量标准化,便于归档,简化输入工作。 制成输入一览表。将全部功能所用的数据整理成表。 制作输入数据描述文档。包括数据的输入频率、数据的有效范围和出错校验。,数据库行为设计,功能设计 2输出设计 输出设计是系统设计中的重要一环。如果说用户看不出系统内部的设计是否科学、合理,那么输出报表是直接与用户见面的,而且输出格式的好坏会给用户留下深刻的印象,它甚至是衡量一个系统好坏的重要标志。 在输出设计时要考虑如下因素: 用途。区分输出结果是给客户的还是用于内部或报送上级

温馨提示

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

评论

0/150

提交评论