资源预览内容
第1页 / 共94页
第2页 / 共94页
第3页 / 共94页
第4页 / 共94页
第5页 / 共94页
第6页 / 共94页
第7页 / 共94页
第8页 / 共94页
第9页 / 共94页
第10页 / 共94页
亲,该文档总共94页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
,数据库系统概论 An Introduction to Database System 第七章 数据库设计,第七章 数据库设计,7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 物理结构设计 7.6 数据库的实施和维护 7.7 小结,7.1 数据库设计概述,数据库设计 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。 信息管理要求:在数据库中应该存储和管理哪些数据对象 。 数据操作要求:对数据对象需要进行哪些操作,如查询、增、删、改、统计等操作。,数据库设计概述(续),数据库设计 数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境 。 高效率的运行环境 数据库数据的存取效率高 数据库存储空间的利用率高 数据库系统运行管理的效率高,7.1 数据库设计概述,7.1.1 数据库设计的特点 7.1.2 数据库设计方法 7.1.3 数据库设计的基本步骤 7.1.4 数据库设计过程中的各级模式,7.1.1 数据库设计的特点,1. 数据库建设的基本规律 三分技术,七分管理,十二分基础数据 管理 数据库建设项目管理 企业(即应用部门)的业务管理 基础数据 数据的收集、整理、组织和不断更新,数据库设计的特点(续),2. 结构(数据)设计和行为(处理)设计相结合 将数据库结构设计和数据处理设计密切结合 结构和行为分离的设计 传统的软件工程:重 行为设计 忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构设计的决策 早期的数据库设计:重 结构设计 致力于数据模型和数据库建模方法研究,忽视了行为设计对结构设计的影响,数据库设计的特点(续),结构和行为分离的设计,数据库设计,应用系统设计,7.1 数据库设计概述,7.1.1 数据库设计的特点 7.1.2 数据库设计方法 7.1.3 数据库设计的基本步骤 7.1.4 数据库设计过程中的各级模式,7.1.2 数据库设计方法,大型数据库设计是涉及多学科的综合性技术,又是一项庞大的工程项目。 它要求多方面的知识和技术。主要包括: 计算机的基础知识 软件工程的原理和方法 程序设计的方法和技巧 数据库的基本知识 数据库设计技术 应用领域的知识,数据库设计方法(续),手工试凑法 设计质量与设计人员的经验和水平有直接关系 缺乏科学理论和工程方法的支持,工程的质量难以保证 数据库运行一段时间后常常又不同程度地发现各种问题,增加了维护代价,数据库设计方法(续),规范设计法 手工设计方法 基本思想 过程迭代和逐步求精 典型方法 新奥尔良(New Orleans)方法 基于E-R模型的数据库设计方法 3NF(第三范式)的设计方法 面向对象的数据库设计方法 统一建模语言(UML)方法,7.1 数据库设计概述,7.1.1 数据库设计的特点 7.1.2 数据库设计方法 7.1.3 数据库设计的基本步骤 7.1.4 数据库设计过程中的各级模式,7.1.3 数据库设计的基本步骤,数据库设计分6个阶段 需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库实施 数据库运行和维护 需求分析和概念设计独立于任何数据库管理系统 逻辑设计和物理设计与选用的数据库管理系统密切相关,数据库设计的基本步骤(续),参加数据库设计的人员 系统分析人员和数据库设计人员 自始至终参与数据库设计,其水平决定了数据库系统的质量 数据库管理员和用户代表 主要参加需求分析与数据库的运行和维护 应用开发人员 包括程序员和操作员 在实施阶段参与进来,分别负责编制程序和准备软硬件环境,数据库设计的基本步骤(续),1. 需求分析阶段 是否做得充分与准确,决定了构建数据库的速度和质量 2. 概念结构设计阶段 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型 3. 逻辑结构设计阶段 将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化,数据库设计的基本步骤(续),4. 物理结构设计阶段 为逻辑数据结构选取一个最适合应用环境的物理结构 包括存储结构和存取方法 5. 数据库实施阶段 根据逻辑设计和物理设计的结果构建数据库 编写与调试应用程序 组织数据入库并进行试运行 6. 数据库运行和维护阶段 经过试运行后即可投入正式运行 在运行过程中必须不断对其进行评估、调整与修改,数据库设计的基本步骤(续),设计一个完善的数据库应用系统 往往是上述6个阶段的不断反复 这个设计步骤既是数据库设计的过程,也包括了数据库应用系统的设计过程 把数据库的设计和对数据库中数据处理的设计紧密结合起来,将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计,数据库设计的基本步骤(续),图7.3 数据库设计各个阶段的数据设计描述,7.1 数据库设计概述,7.1.1 数据库设计的特点 7.1.2 数据库设计方法 7.1.3 数据库设计的基本步骤 7.1.4 数据库设计过程中的各级模式,7.1.4 数据库设计过程中的各级模式,数据库设计不同阶段形成的数据库各级模式,数据库的各级模式,数据库设计过程中的各级模式(续),数据库设计不同阶段形成的数据库各级模式,需求分析阶段: 综合各个用户的应用需求,数据库的各级模式,数据库设计过程中的各级模式(续),数据库设计不同阶段形成的数据库各级模式,概念设计阶段: 形成独立于机器特点,独 立于各个数据库管理系统产 品的概念模式(E-R图),数据库的各级模式,数据库设计过程中的各级模式(续),数据库设计不同阶段形成的数据库各级模式,逻辑设计阶段: 1. 首先将E-R图转换成具体的数据库产品支持的数据模型,如关系模型, 形成数据库逻辑模式 2. 然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立 必要的视图(View),形成数据的外模式,数据库设计过程中的各级模式(续),数据库设计不同阶段形成的数据库各级模式,物理设计阶段: 根据数据库管理系统特点和处理的需要, 进行物理存储安排,建立索引,形成数 据库内模式,数据库的各级模式,第七章 数据库设计,7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 物理结构设计 7.6 数据库的实施和维护 7.7 小结,7.2 需求分析,7.2.1 需求分析的任务 7.2.2 需求分析的方法 7.2.3 数据字典,需求分析(续),需求分析就是分析用户的要求 是设计数据库的起点 结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用,7.2.1 需求分析的任务,详细调查现实世界要处理的对象(组织、部门、企业等) 充分了解原系统(手工系统或计算机系统)工作概况 明确用户的各种需求 在此基础上确定新系统的功能 新系统必须充分考虑今后可能的扩充和改变,需求分析的任务(续),调查的重点是“数据”和“处理”,获得用户对数据库的要求 (1)信息要求 用户需要从数据库中获得信息的内容与性质 由信息要求可以导出数据要求,即在数据库中需要存储哪些数据 (2)处理要求 用户要完成的处理功能 对处理性能的要求 (3)安全性与完整性要求,需求分析的任务(续),确定用户最终需求的难点 用户缺少计算机知识,不能准确地表达自己的需求,他们所提出的需求往往不断地变化。 设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求 解决方法 设计人员必须不断深入地与用户进行交流,才能逐步确定用户的实际需求,7.2 需求分析,7.2.1 需求分析的任务 7.2.2 需求分析的方法 7.2.3 数据字典,7.2.2 需求分析的方法,调查清楚用户的实际需求并进行初步分析 与用户达成共识 分析与表达这些需求,调查用户需求的步骤,(1)调查组织机构情况 (2)调查各部门的业务活动情况 (3)协助用户明确对新系统的各种要求,包括信 息要求、处理要求、完全性与完整性要求 (4)确定新系统的边界,常用调查方法,(1)跟班作业 通过亲身参加业务工作了解业务活动的情况 (2)开调查会 通过与用户座谈来了解业务活动情况及用户需求 (3)请专人介绍 (4)询问 对某些调查中的问题,可以找专人询问 (5)设计调查表请用户填写 调查表设计合理,则很有效 (6)查阅记录 查阅与原系统有关的数据记录,进一步分析和表达用户需求,分析方法 结构化分析方法(Structured Analysis,简称SA方法) SA方法从最上层的系统组织机构入手 采用自顶向下、逐层分解的方式分析系统 对用户需求进行分析与表达后,需求分析报告必须提交给用户,征得用户的认可,需求分析过程,需求分析过程,7.2 需求分析,7.2.1 需求分析的任务 7.2.2 需求分析的方法 7.2.3 数据字典,7.2.3 数据字典,数据字典是关于数据库中数据的描述,即元数据,不是数据本身 数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善 数据字典是进行详细的数据收集和数据分析所获得的主要结果 注意: 和关系数据库管理系统中数据字典的区别和联系,数据字典(续),数据字典的内容 数据项 数据结构 数据流 数据存储 处理过程 数据项是数据的最小组成单位 若干个数据项可以组成一个数据结构 数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容,1. 数据项,数据项是不可再分的数据单位 对数据项的描述 数据项描述=数据项名,数据项含义说明,别名, 数据类型,长度,取值范围,取值含义, 与其他数据项的逻辑关系, 数据项之间的联系 “取值范围”、“与其他数据项的逻辑关系”定义了数据的完整性约束条件,是设计 数据检验功能的依据 可以用关系规范化理论为指导,用数据依赖的概念分析和表示数据项之间的联系,2. 数据结构,数据结构反映了数据之间的组合关系。 一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。 对数据结构的描述 数据结构描述= 数据结构名,含义说明,组成:数据项或数据结构,3. 数据流,数据流是数据结构在系统内传输的路径。 对数据流的描述 数据流描述=数据流名,说明,数据流来源, 数据流去向,组成:数据结构, 平均流量,高峰期流量 数据流来源:说明该数据流来自哪个过程 数据流去向:说明该数据流将到哪个过程去 平均流量:在单位时间(每天、每周、每月等)里的传输次数 高峰期流量:在高峰时期的数据流量,4. 数据存储,数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。 对数据存储的描述 数据存储描述=数据存储名,说明,编号,输 入的数据流 ,输出的数据流, 组成:数据结构,数据量, 存取频度,存取方式 存取频度:每小时、每天或每周存取次数,每次存取的数据量等信息 存取方法:批处理 / 联机处理;检索 / 更新;顺序检索 / 随机检索 输入的数据流:数据来源 输出的数据流:数据去向,5. 处理过程,处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息 处理过程说明性信息的描述 处理过程描述=处理过程名,说明,输入:数据流, 输出:数据流,处理:简要说明 简要说明:说明该处理过程的功能及处理要求 功能:该处理过程用来做什么 处理要求:处理频度要求,如单位时间里处理多少事务,多少数据量、响应时间要求等 处理要求是后面物理设计的输入及性能评价的标准,需求分析小结,把需求收集和分析作为数据库设计的第一阶段是十分重要的。 第一阶段收集的基础数据(用数据字典来表达)是下一步进行概念设计的基础。 强调两点 (1)设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充 (2)必须强
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号