第七章数据库设计_第1页
第七章数据库设计_第2页
第七章数据库设计_第3页
第七章数据库设计_第4页
第七章数据库设计_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库系统概论数据库系统概论An Introduction to Database System第七章第七章 数据库设计数据库设计第七章第七章 数据库设计数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 数据库的物理设计数据库的物理设计7.6 数据库实施和维护数据库实施和维护7.7 小结小结数据库设计概述数据库设计概述v 数据库设计 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信

2、息管理要求和数据操作要求。 目标:为用户和各种应用系统提供一个信息基础设施和高效率的运行环境7.1 数据库设计概述数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式7.1.1 数据库设计的特点数据库设计的特点v数据库建设的基本规律 三分技术,七分管理,十二分基础数据 管理 数据库建设项目管理 企业(即应用部门)的业务管理 基础数据 收集、入库 更新新的数据v结构(数据)设计和行为(处理)设计相结合 将数据库结构设计和数据处理设计密切

3、结合数据库设计的特点(续)数据库设计的特点(续)现实世界现实世界概念模型设计概念模型设计子模式设计子模式设计物理数据库设计物理数据库设计逻辑数据库设计逻辑数据库设计建立数据库建立数据库数据分析数据分析功能分析功能分析功能模型功能模型功能说明功能说明事务设计事务设计程序说明程序说明应用程序设计应用程序设计程序编码调试程序编码调试结构和行为分离的设计 规划需求分析系统设计 程序编制 调试 运行维护 软件生存期运行和维护 实现 物理设计逻辑设计概念设计需求分析规划数据库生存期数据库设计的特点(续)数据库设计的特点(续)7.1 数据库设计概述数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7

4、.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式7.1.2 数据库设计方法数据库设计方法v 手工与经验相结合方法 设计质量与设计人员的经验和水平有直接关系 数据库运行一段时间后常常不同程度地发现各种问题,增加了维护代价v规范设计法 基本思想:过程迭代和逐步求精数据库设计方法(续)数据库设计方法(续)v 新奥尔良(New Orleans)方法 将数据库设计分为若干阶段和步骤 自顶向下、分层实现、逐步求精自顶向下、分层实现、逐步求精v 基于E-R模型的数据库设计方法 概念设计阶段广泛采用v 3

5、NF(第三范式)的设计方法 逻辑阶段可采用的有效方法 v ODL(Object Definition Language)方法 面向对象的数据库设计方法数据库设计方法(续)数据库设计方法(续)v计算机辅助设计 ORACLE Designer 2000 SYBASE PowerDesigner7.1 数据库设计概述数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式7.1.3 数据库设计的基本步骤数据库设计的基本步骤v 数据库设计分6个阶

6、段 需求分析需求分析 概念结构设计概念结构设计 逻辑结构设计逻辑结构设计 物理结构设计物理结构设计 数据库实施数据库实施 数据库运行和维护数据库运行和维护 v 需求分析和概念设计独立于任何数据库管理系统 v 逻辑设计和物理设计与选用的DBMS密切相关数据库设计的基本步骤(续)数据库设计的基本步骤(续)一、数据库设计的准备工作:选定参加设计的人选定参加设计的人1.系统分析人员、数据库设计人员 2. 用户 3. 程序员4. 操作员数据库设计的基本步骤(续)数据库设计的基本步骤(续)1. 数据库分析设计人员 数据库设计的核心人员 自始至终参与数据库设计 其水平决定了数据库系统的质量2. 用户 在数据

7、库设计中也是举足轻重的 主要参加需求分析和数据库的运行维护 用户积极参与带来的好处加速数据库设计提高数据库设计的质量数据库设计的基本步骤(续)数据库设计的基本步骤(续)3. 程序员 在系统实施阶段参与进来,负责编制程序4. 操作员 在系统实施阶段参与进来,准备软硬件环境数据库设计的基本步骤(续)数据库设计的基本步骤(续)数据库设计的基本步骤(续)数据库设计的基本步骤(续)二、数据库设计的过程(六个阶段) 需求分析阶段需求分析阶段 准确了解与分析用户需求(包括数据与处理) 是整个设计过程的基础,最困难、最耗费时间的一步数据库设计的基本步骤(续)数据库设计的基本步骤(续)概念结构设计阶段概念结构设

8、计阶段 整个数据库设计的关键 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型数据库设计的基本步骤(续)数据库设计的基本步骤(续)逻辑结构设计阶段逻辑结构设计阶段 将概念结构转换为某个DBMS所支持的数据模型 对其进行优化数据库设计的基本步骤(续)数据库设计的基本步骤(续)数据库物理设计阶段数据库物理设计阶段 为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)数据库设计的基本步骤(续)数据库设计的基本步骤(续)数据库实施阶段数据库实施阶段 运用运用DBMS提供的数据库语言(如提供的数据库语言(如SQL)及宿主语言,根据逻辑)及宿主语言,根据逻辑设计

9、和物理设计的结果设计和物理设计的结果建立数据库编制与调试应用程序组织数据入库进行试运行数据库设计的基本步骤(续)数据库设计的基本步骤(续)数据库运行和维护阶段数据库运行和维护阶段 数据库应用系统经过试运行后即可投入正式运行 在数据库系统运行过程中必须不断地对其进行评价、调整与修改数据库设计的基本步骤(续)数据库设计的基本步骤(续) 设计一个完善的数据库应用系统往往是上述六个阶段的不设计一个完善的数据库应用系统往往是上述六个阶段的不断断反复反复(P202图图7.2)v 把数据库设计和对数据库中数据处理的设计紧密把数据库设计和对数据库中数据处理的设计紧密结合结合起来起来v 将这两个方面的需求分析、

10、抽象、设计、实现在各个阶段将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计同时进行,相互参照,相互补充,以完善两方面的设计数据库设计的基本步骤(续)数据库设计的基本步骤(续)数据库设计各个阶段的设计描述7.1 数据库设计概述数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式7.1.4数据库设计过程中的各级模式数据库设计过程中的各级模式数据库设计不同阶段形成的数据库各级模式p需求分析阶

11、段 综合各个用户的应用需求概念设计阶段 形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图)7.1.4数据库设计过程中的各级模式数据库设计过程中的各级模式p逻辑设计阶段首先将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据的外模式7.1.4数据库设计过程中的各级模式数据库设计过程中的各级模式p物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式7.1.4数据库设计过程中的各级模式数据库设计过程中的各级模式第七章第七章 数据库设计数

12、据库设计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 需求分析的任务需求分析的任务v需求分析的任务需求分析的任务v需求分析的重点需求分析的重点v需求分析的难点需求分析的难点需求分析的任务需求分析的任务v 详细调查现实世界要处理的对象(组织、部门、企业等)详细调查现实世界要处理的对象

13、(组织、部门、企业等)v 充分了解原系统(手工系统或计算机系统)充分了解原系统(手工系统或计算机系统)v 明确用户的各种需求明确用户的各种需求v 确定新系统的功能确定新系统的功能v 充分考虑今后可能的扩充和改变充分考虑今后可能的扩充和改变需求说明书需求说明书总体信息需求总体信息需求处理需求处理需求第第1步:需求分析步:需求分析需求分析需求分析需求分析的重点需求分析的重点v 调查的重点是调查的重点是“数据数据”和和“处理处理”,获得用户对数据库要,获得用户对数据库要求求 信息要求:用户需要从数据库中获得信息的内容和性质,即数据库中需要存储哪些数据。 处理要求:处理功能、响应时间、处理方式。 安全

14、性与完整性要求:用户权限、事务处理规则、规章制度。需求分析的难点需求分析的难点v确定用户最终需求确定用户最终需求 用户用户缺少计算机知识缺少计算机知识 设计人员设计人员缺少用户的专业知识缺少用户的专业知识v解决方法解决方法 设计人员必须不断设计人员必须不断深入深入地与用户进行地与用户进行交流交流7.2 需求分析需求分析7.2.1 需求分析的任务需求分析的任务7.2.2 需求分析的方法需求分析的方法7.2.3 数据字典数据字典7.2.2 需求分析的方法需求分析的方法v调查需求v达成共识v分析表达需求调查用户需求的具体步骤调查用户需求的具体步骤 调查组织机构情况调查组织机构情况 调查各部门的业务活

15、动情况。调查各部门的业务活动情况。 在熟悉业务活动的基础上,协助用户明确对新系在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。统的各种要求。 确定新系统的边界确定新系统的边界常用调查方法常用调查方法(1)跟班作业跟班作业(2)开调查会开调查会(3)请专人介绍请专人介绍(4)询问询问(5)设计调查表请用户填写设计调查表请用户填写(6)查阅记录查阅记录需求调查的策略需求调查的策略l 需求调查的策略 对高层负责人的调查: 一般采用个别交谈方式, 先给一份详细的调查提纲, 以便有所准备。 对中层管理人员的调查: 可采用开座谈会, 个别交谈, 发调查表, 查阅记录的调查方式。 对基层业务人员的调

16、查: 主要采用发调查表, 个别交谈或跟班作业的调查方式。l 需求分析阶段的工作是大量的和烦琐的! 但是是基础的重要的!进一步分析和表达用户需求进一步分析和表达用户需求v结构化分析方法(Structured Analysis,简称SA方法)从最上层的系统组织机构入手 自顶向下、逐层分解分析系统分解:分解:对于一个复杂的系统,对于一个复杂的系统,为了将复杂性降低到可以掌握的为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干程度,可以把大问题分解成若干小问题,然后分别解决(如右小问题,然后分别解决(如右图)。图)。 结构化分析方法的基本思想是结构化分析方法的基本思想是“分解分解”和和“抽象抽象

17、”。抽象:抽象:分解可以分层进行,即先考虑问题最本质的属性,分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去暂把细节略去, ,以后再逐层添加细节,直至涉及到最详细的以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个系统的方法就是内容,这种用最本质的属性表示一个系统的方法就是“抽抽象象”。1.11.21.3x2132.12.22.31.11.3结构化分析方法结构化分析方法1 1、建立当前系统的、建立当前系统的“具体模型具体模型”。1 1、分层的数据流图、分层的数据流图2 2、数据词典、数据词典3 3、描述加工逻辑的结构化语言、判定表及判定树、描述加工逻辑的结构化语言、

18、判定表及判定树4 4、为了对目标系统做完整的描述,还需要考虑人机界面和、为了对目标系统做完整的描述,还需要考虑人机界面和其他一些问题。其他一些问题。3 3、建立目标系统的逻辑模型。、建立目标系统的逻辑模型。2 2、抽象出当前系统的逻辑模型。、抽象出当前系统的逻辑模型。结构化分析方法结构化分析方法进一步分析和表达用户需求(续)进一步分析和表达用户需求(续)1首先把任何一个系统都抽象为:数据流数据流数据流数据流数据数据存储存储信息要求信息要求数据数据来源来源处理处理数据数据输出输出处理要求处理要求进一步分析和表达用户需求(续)进一步分析和表达用户需求(续)2分解处理功能和数据 (1)分解处理功能将

19、处理功能的具体内容分解为若干子功能 (2)分解数据处理功能逐步分解同时,逐级分解所用数据,形成若干层次的数据流图 (3)表达方法 处理逻辑:用判定表或判定树来描述 数据:用数据字典来描述3将分析结果再次提交给用户,征得用户的认可需求分析过程需求分析过程需求分析过程 数据流图数据流图(DFD)l DFD从数据流动、传递和加工处理的角度,以图形方式表达数据和处理过程的关系。l DFD有四种组成元素: 数据流; 加工; 数据存储(文件); 数据流的源或池l DFD中处理过程的处理逻辑常借助判定表或判定树来描述。l DFD中的数据流、数据存储则借助数据字典(DD)来描述。数据流图数据流图: 例例l 以

20、“工资管理”为例作需求分析: 财务部门的工资管理员进行。 工资管理员每月作: 先在上一月工资表上进行修改; 然后计算每人的应发应扣实发工资; 汇总上账; 按工资表发放工资。 数据来源: 人事处劳资科, 水电科, 等。 输出: 工资册, 总账, 银行, 税务部门, 等。 功能: 工资数据存储, 修改, 查询, 汇总入账, 统计报表, 传输数据到银行税务等部门。 安全性: 非工资员及无关人员不能修改工资数据; 不能查阅其他人的工资。 完整性: 姓名作为关键字。数据流图数据流图: 例例(续续)p工资管理系统只完成: 修改, 查询, 计算, 汇总, 报表。p人事处, 水电科等的数据 工资管理员。p汇总

21、数据及有关数据 总账, 银行, 税务等部门。p工资管理系统第一层数据流图:工资管理员会计员职工工资文件工资管理系统工资变动数据工资汇总数据个人工资数据人事处水电科银行,税务,水电,医院,社保数据流图数据流图: 例例(续续)p工资管理系统第二层数据流图工资管理员会计员职工工资文件修改工资工资变动数据工资汇总数据个人工资数据计算工资查询工资汇总工资打印工资报表生成转出的数据文件有关工资数据实例实例2实例:假设我们要开发一个学校管理系统。1经过可行性分析和初步需求调查,抽象出该系统最高层数据流图,该系统由教师管理子系统、学生管理子系统、后勤管理子系统组成,每个子系统分别配备一个开发小组。学校管理高层

22、数据流图学校管理高层数据流图 顶层P1P2P3P4P41P42第一层分解第二层分解实例实例2主层分解后的数据流图主层分解后的数据流图 实例实例22进一步细化各个子系统。 其中学生管理子系统开发小组通过进一步的需求调查,明确了该子系统的主要功能是进行学籍管理和课程管理,包括学生报到、入学、毕业的管理,学生上课情况的管理。通过详细的信息流程分析和数据收集后,他们生成了该子系统的数据流图。实例实例2实例实例2领书单领书单 进书通知进书通知 购书单购书单 缺书单缺书单 学学生生教材教材购销购销系统系统书库书库保管保管员员实例:假设要开发一个售书系统售书系统实例实例3领书单领书单 进书通知进书通知 进书

23、通知进书通知 购书单缺书单购书单缺书单 1销销售售 2采采购购书库书库保管保管员员学学生生F1教材存量表教材存量表 F2缺书登记表缺书登记表 实例实例3例子:销售采购管理系统第例子:销售采购管理系统第1 1层数据流程图层数据流程图顾客顾客P1销销售售P2采采购购供应供应商商F1 配件库配件库存存P3会会计计付付款款付付款款收据收据应付款通知应付款通知收款通收款通知知到货通到货通知知订货单订货单订货单订货单发货发货单单发货发货单单实例实例3第第2 2层数据流程图之一(销售)层数据流程图之一(销售)F2 配件目录配件目录顾客顾客P1.1编辑编辑订货单订货单业务员业务员P1.3确定确定订货订货P1.

24、5产生暂存产生暂存订货单订货单P1.2登录登录新顾客新顾客F3 顾客顾客P1.4开发货单开发货单修改库存修改库存P1.6对照暂存对照暂存订货单订货单采购采购F4 暂存订货单暂存订货单P1.8编制销售、编制销售、库存报表库存报表P1.7检索检索库存库存F1 配件库配件库存存经理经理F5 销售历史销售历史F10 应收款明细帐应收款明细帐发货单发货单订货单订货单不合格不合格合格合格新新顾顾客客不满足不满足的订货的订货可发的订货可发的订货到货通知到货通知F4 暂存订货单暂存订货单P2.1按配件按配件汇总汇总P2.2确定订货确定订货的配件的配件P2.5修改库存、修改库存、待订数量待订数量F6 待订货的配

25、件待订货的配件P2.6编制到货编制到货通知通知P2.4核对核对发货单发货单F1 配件库存配件库存P2.3按供应商按供应商汇总汇总F8 向供应商的订货单向供应商的订货单F9 应付款明细帐应付款明细帐销售销售供应商供应商订货单订货单发货单发货单错误发货单错误发货单正确发货单正确发货单第第2 2层数据流程图之二(采购)层数据流程图之二(采购)第第2 2层数据流程图之三(会计)层数据流程图之三(会计)顾客顾客P3.1开收据并开收据并修改明细帐修改明细帐P3.5编制会编制会计报表计报表经理经理P3.4修改修改总帐总帐F10 应收款明细帐应收款明细帐F11 总帐总帐P3.3付款并修付款并修改明细帐改明细帐

26、P3.2核对核对付款单付款单F9 应付款明细帐应付款明细帐供应供应商商应付款应付款通知通知付款付款收据收据7.2 需求分析需求分析7.2.1 需求分析的任务需求分析的任务7.2.2 需求分析的方法需求分析的方法7.2.3 数据字典数据字典7.2.3 数据字典数据字典一、数据字典的用途二、数据字典的内容一、数据字典的用途一、数据字典的用途p数据字典是各类数据描述的集合p数据字典是进行详细的数据收集和数据分析所获得的主要结果p数据字典在数据库设计中占有很重要的地位二、数据字典的内容二、数据字典的内容l 数据字典的内容 数据项 数据结构 数据流 数据存储 处理过程l 数据项是数据的最小组成单位。l

27、若干个数据项可以组成一个数据结构。l 数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。 数据项数据项v 数据项是不可再分的数据单位v 对数据项的描述 数据项描述 数据项名,数据项含义说明,别名, 数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系 取值范围、与其他数据项的逻辑关系定义了数据的完整性约束条件 数据项示例数据项示例 数据结构数据结构v 数据结构反映了数据之间的组合关系。v 一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。v 对数据结构的描述 数据结构描述数据结构名,含义说明, 组成:

28、数据项或数据结构 数据结构示例数据结构示例 数据流数据流l 数据流是数据结构在系统内传输的路径。l 对数据流的描述数据流描述数据流名,说明,数据流来源, 数据流去向,组成:数据结构, 平均流量,高峰期流量 数据流来源是说明该数据流来自哪个过程 数据流去向是说明该数据流将到哪个过程去 平均流量是指在单位时间(每天、每周、每月等)里的传输次数 高峰期流量则是指在高峰时期的数据流量 数据流示例数据流示例 数据存储数据存储l 数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。l 对数据存储的描述数据存储描述数据存储名,说明,编号, 流入的数据流 ,流出的数据流 , 组成:数据结构,数据量

29、,存取方式 流入的数据流:指出数据来源 流出的数据流:指出数据去向 数据量:每次存取多少数据,每天(或每小时、每周等)存取几次等信息 存取方法:批处理 / 联机处理;检索 / 更新;顺序检索 / 随机检索 数据存储数据存储 处理过程处理过程l 处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息l 处理过程说明性信息的描述处理过程描述处理过程名,说明, 输入:数据流,输出:数据流, 处理:简要说明处理过程(续)处理过程(续)l 简要说明:主要说明该处理过程的功能及处理要求 功能:该处理过程用来做什么 处理要求:处理频度要求(如单位时间里处理多少事务,多少数据量);响应时间要求等 处理要求是后面物理设计的输入及性能评

温馨提示

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

评论

0/150

提交评论