数据库系统原理---7_第1页
数据库系统原理---7_第2页
数据库系统原理---7_第3页
数据库系统原理---7_第4页
数据库系统原理---7_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库系统原理数据库系统原理 The Principle of Database 第七章第七章 数据库设计数据库设计 黄穗黄穗 副教授副教授 主讲主讲 暨南大学信息学院计算机系暨南大学信息学院计算机系 2 【教学目标教学目标】 了解数据库设计的基本步骤,每了解数据库设计的基本步骤,每 一步骤需要解决的主要问题,相关的技术方案及一步骤需要解决的主要问题,相关的技术方案及 工具软件。工具软件。 【教学重点教学重点】需求分析、逻辑设计、数据库应用需求分析、逻辑设计、数据库应用 开发方法。开发方法。 【教学难点教学难点】如何根据实际应用需要落实每个步如何根据实际应用需要落实每个步 骤的设计原则,如何利

2、用骤的设计原则,如何利用CASECASE工具辅助开发工具辅助开发。 3 第一节、第一节、 数据库设计概述数据库设计概述 【教学目标教学目标】 了解数据库设计的六大步骤 了解数据库设计的特点 了解数据库设计的基本方法 4 n什么是数据库设计 n数据库设计是指对于一个给定的应用环境, 构造最优的数据库模式,建立数据库及其应 用系统,使之能够有效地存储数据,满足各 种用户的应用需求(信息要求和处理要求) n在数据库领域内,常常把使用数据库的各类 系统统称为数据库应用系统。 5 7.1.1 数据库和信息系统数据库和信息系统 n数据库是信息系统的核心和基础 n把信息系统中大量的数据按一定的模型组织起来

3、n提供存储、维护、检索数据的功能 n使信息系统可以方便、及时、准确地从数据库中获 得所需的信息 n数据库是信息系统的各个部分能否紧密地结合 在一起以及如何结合的关键所在 n数据库设计是信息系统开发和建设的重要组成 部分 6 数据库设计人员应该具备的技术和知识数据库设计人员应该具备的技术和知识 n数据库的基本知识和数据库设计技术 n计算机科学的基础知识和程序设计的方 法和技巧 n软件工程的原理和方法 n应用领域的知识 7 7.1.2 数据库设计的特点数据库设计的特点 n数据库建设是硬件、软件和干件的结合 n三分技术,七分管理,十二分基础数据 n技术与管理的界面称之为“干件” n 数据库设计应该与

4、应用系统设计相结合 n结构(数据)设计:设计数据库框架或数据 库结构 n行为(处理)设计:设计应用程序、事务处 理等 8 n结构和行为分离的设计 n传统的软件工程忽视对应用中数据语义的分 析和抽象,只要有可能就尽量推迟数据结构 设计的决策 n早期的数据库设计致力于数据模型和建模方 法研究,忽视了对行为的设计 9 现实世界现实世界 概念模型设计概念模型设计 子模式设计子模式设计 物理数据库设计物理数据库设计 逻辑数据库设计逻辑数据库设计 建立数据库建立数据库 数据分析数据分析功能分析功能分析 功能模型功能模型功能说明功能说明 事务设计事务设计 程序说明程序说明 应用程序设计应用程序设计 程序编码

5、调试程序编码调试 10 7.1.3 数据库设计方法简述数据库设计方法简述 n手工试凑法 n设计质量与设计人员的经验和水平有直接关 系 n缺乏科学理论和工程方法的支持,工程的质 量难以保证 n数据库运行一段时间后常常又不同程度地发 现各种问题,增加了维护代价 11 n规范设计法 n手工设计方法 n基本思想 n过程迭代和逐步求精 n典型方法 n新奥尔良(New Orleans)方法 n 将数据库设计分为四个阶段 nS.B.Yao方法 n将数据库设计分为五个步骤 nI.R.Palmer方法 n把数据库设计当成一步接一步的过程 12 n计算机辅助设计 在软件工程应用中, 计算机辅助软件工程(CA SE

6、) 工具代表了支持软件开发、 维护和管理技术的一个主要方面. 在软件生存周期过程中, CASE 工具辅助 各个软件工程活动的实施, 从软件的项目计划、需求分析、系统设计、编码 调试、测试管理、运行维护, 到支持软件的过程管理、质量保证等都发挥着 越来越大的作用, 提高了软件开发、维护和管理工作的效率, 也使软件的质 量得到了提高。 国际标准化组织和国际电工委员会在发布的国际标准ISO/IEC12207信息 技术软件生存周期过程中, 把软件的生存周期过程划分为5 个基本过程、 8 个支持过程和4 个组织过程. 其中每个过程分别划分为一组活动, 每个活动 又进一步分为一组任务. 如下图所示. 13

7、 14 大多数CASE 工具仅支持软件生存周期过程中的特定活动, 因此按软件过程的活动通常可分为: 支持软件开发过程的工具: 如需求分析工具、需求跟 踪工具、设计工具、编码工具、排错工具、测试和集成 工具等; 支持软件维护过程的工具: 版本控制工具、文档工具、 开发信息库工具、再工程工具(包括逆向工程工具、代 码重构与分析工具)等; 支持软件管理和支持过程的工具: 项目计划工具、项 目 管理工具、配置管理工具、软件评价工具、度量和管理 工具等。 如下表所示: 15 16 7.1.4 数据库设计的基本步骤数据库设计的基本步骤 一、数据库设计的准备工作 选定参加设计的人员 1. 数据库分析设计人员

8、 n数据库设计的核心人员 n自始至终参与数据库设计 n其水平决定了数据库系统的质量 17 2. 用户 n在数据库设计中也是举足轻重的 n主要参加需求分析和数据库的运行维护 n用户积极参与带来的好处 n加速数据库设计 n提高数据库设计的质量 18 3. 程序员 n在系统实施阶段参与进来,负责编制 程序 4. 操作员 n在系统实施阶段参与进来,准备软硬 件环境 19 二、数据库设计的过程(六个阶段) 需求分析阶段 n准确了解与分析用户需求(包括数据与处理) n是整个设计过程的基础,是最困难、最耗费 时间的一步 20 概念结构设计阶段 n是整个数据库设计的关键 n通过对用户需求进行综合、归纳与抽象,

9、形成一个 独立于具体DBMS的概念模型 逻辑结构设计阶段 n将概念结构转换为某个DBMS所支持的数据模型 n对其进行优化 21 数据库物理设计阶段 n为逻辑数据模型选取一个最适合应用环境的物理结 构(包括存储结构和存取方法) 数据库实施阶段 n运用DBMS提供的数据语言、工具及宿主语言,根 据逻辑设计和物理设计的结果 n建立数据库 n编制与调试应用程序 n组织数据入库 n并进行试运行 22 数据库运行和维护阶段 n数据库应用系统经过试运行后即可投入正式 运行。 n在数据库系统运行过程中必须不断地对其进 行评价、调整与修改。 23 IPO表 输入: 输出: 处理: Creat Load Main

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

11、据流图流的数据流图 某种数据模型某种数据模型 关系关系 非关系非关系 系统结构图系统结构图 (模块结构)(模块结构) 存储安排存储安排 方法选择方法选择 存取路径建立存取路径建立 模块设计模块设计 IPO表表 实施实施 阶段阶段 编写模式编写模式 装入数据装入数据 数据库试运行数据库试运行 程序编码、程序编码、 编译联结、编译联结、 测试测试 运行、运行、 维护维护 性能监测、转储性能监测、转储/恢复恢复 数据库重组和重构数据库重组和重构 新旧系统转换、运行、维护(修正性、新旧系统转换、运行、维护(修正性、 适应性、改善性维护)适应性、改善性维护) 24 第二节、第二节、 需求分析需求分析 【

12、教学目标教学目标】 了解需求分析的任务 了解需求分析的基本方法 了解数据字典 25 n需求分析就是分析用户的需要与要求 n需求分析是设计数据库的起点 n需求分析的结果是否准确地反映了用户的实 际要求,将直接影响到后面各个阶段的设计, 并影响到设计结果是否合理和实用 26 7.2.1 需求分析的任务需求分析的任务 一、需求分析的任务 二、需求分析的重点 三、需求分析的难点 27 一、一、需求分析的任务需求分析的任务 n 通过详细调查现实世界要处理的对象 (组织、部门、企业等),充分了解原 系统(手工系统或计算机系统)工作概 况,明确用户的各种需求 n 在此基础上确定新系统的功能。新系统 必须充分

13、考虑今后可能的扩充和改变, 不能仅仅按当前应用需求来设计数据库 28 二、二、需求分析的重点需求分析的重点 n需求分析的重点是调查、收集与分析用户在数 据管理中的信息要求、处理要求、安全性与完 整性要求。 n 信息要求 n用户需要从数据库中获得信息的内容与性质 n由用户的信息要求可以导出数据要求,即在 数据库中需要存储哪些数据 29 n处理要求 n对处理功能的要求 n对处理的响应时间的要求 n对处理方式的要求(批处理 / 联机处理) n新系统的功能必须能够满足用户的信息要求、 处理要求、安全性与完整性要求。 30 三、三、需求分析的难点需求分析的难点 n确定用户最终需求的难点 n用户缺少计算机

14、知识,开始时无法确定计算机究竟 能为自己做什么,不能做什么,因此无法一下子准 确地表达自己的需求,他们所提出的需求往往不断 地变化。 n设计人员缺少用户的专业知识,不易理解用户的真 正需求,甚至误解用户的需求。 n新的硬件、软件技术的出现也会使用户需求发生变 化。 31 n解决方法 n设计人员必须采用有效的方法,与用户不断 深入地进行交流,才能逐步得以确定用户的 实际需求 32 7.2.2 需求分析的方法需求分析的方法 n调查清楚用户的实际需求并进行初步分析 n 与用户达成共识 n 进一步分析与表达这些需求 33 一、一、 调查与初步分析用户需求调查与初步分析用户需求 调查组织机构情况 n 组

15、织部门的组成情况 n 各部门的职责等 34 调查各部门的业务活动情况。调查重点之一。 n 各个部门输入和使用什么数据 n 如何加工处理这些数据 n 输出什么信息 n 输出到什么部门 n 输出结果的格式是什么 35 在熟悉业务活动的基础上,协助用户明确对新 系统的各种要求。调查重点之二。 n 信息要求 n 处理要求 n 完全性与完整性要求 36 对前面调查的结果进行初步分析 n确定新系统的边界 n确定哪些功能由计算机完成或将来准备让计算机 完成 n确定哪些活动由人工完成 由计算机完成的功能就是新系统应该实现的功能。 37 二、二、常用调查方法常用调查方法 n做需求调查时,往往需要同时采用多种 方

16、法 n无论使用何种调查方法,都必须有用户的积 极参与和配合 n设计人员应该和用户取得共同的语言,帮助 不熟悉计算机的用户建立数据库环境下的共 同概念,并对设计工作的最后结果共同承担 责任 38 n常用调查方法 跟班作业 n通过亲身参加业务工作了解业务活动的情况 n能比较准确地理解用户的需求,但比较耗时 开调查会 n通过与用户座谈来了解业务活动情况及用户 需求 请专人介绍 39 询问 n对某些调查中的问题,可以找专人询问 设计调查表请用户填写 n如果调查表设计合理,则很有效,且易于为 用户接受 查阅记录 n查阅与原系统有关的数据记录 40 三、三、进一步分析和表达用户需求进一步分析和表达用户需求

17、 n分析和表达用户的需求的常用方法 n自顶向下的结构化分析方法(Structured Analysis,简称SA方法) nSA方法从最上层的系统组织机构入手,采用逐 层分解的方式分析系统,并用数据流图和数据 字典描述系统。 41 1首先把任何一个系统都抽象为: 数据流数据流数据流数据流 数据数据 存储存储信息要求信息要求 数据数据 来源来源 处理处理数据数据 输出输出 处理要求处理要求 42 2分解处理功能和数据 (1)分解处理功能 n将处理功能的具体内容分解为若干子功能,再将 每个子功能继续分解,直到把系统的工作过程表 达清楚为止。 (2)分解数据 n在处理功能逐步分解的同时,其所用的数据也

18、逐 级分解,形成若干层次的数据流图 n 数据流图表达了数据和处理过程的关系 43 (3)表达方法 n 处理过程:用判定表或判定树来描述 n 数据:用数据字典来描述 3将分析结果再次提交给用户,征得用户 的认可 44 四、四、需求分析小结需求分析小结 45 实例:开发一个学校管理系统。 1经过可行性分析和初步需求调查,抽象出该系统最高层数 据流图,该系统由教师管理子系统、学生管理子系统、后 勤管理子系统组成,每个子系统分别配备一个开发小组。 2进一步细化各个子系统。 其中学生管理子系统开发小组通过进行进一步的需求调查, 明确了该子系统的主要功能是进行学籍管理和课程管理, 包括学生报到、入学、毕业

19、的管理,学生上课情况的管理。 通过详细的信息流程分析和数据收集后,他们生成了该子 系统的数据流图。 46 7.2.3 数据字典数据字典 一、数据字典的用途 二、数据字典的内容 47 一、一、数据字典的用途数据字典的用途 n数据字典中存放的是各类数据描述的集合(又称元 数据,不是数据本身,而是描述数据的数据。) n数据字典是进行详细的数据收集和数据分析所获得 的主要结果 n数据字典在数据库设计中占有很重要的地位 48 二、二、数据字典的内容数据字典的内容 n数据字典的内容 n数据项 n数据结构 n数据流 n数据存储 n处理过程 n 数据项是数据的最小组成单位 n 若干个数据项可以组成一个数据结构

20、 n 数据字典通过对数据项和数据结构的定义来描述 数据流、数据存储的逻辑内容。 49 第三节、第三节、 概念结构设计概念结构设计 【教学目标教学目标】 了解概念结构设计的任务与特点 了解概念结构设计的主要方法与步骤 了解概念结构设计的常用工具 50 7.3.1 概念结构设计的任务与特点概念结构设计的任务与特点 n什么是概念结构设计 n需求分析阶段描述的用户应用需求是现实世 界的具体需求 n将需求分析得到的用户需求抽象为信息结构 即概念模型的过程就是概念结构设计 n概念结构是各种数据模型的共同基础,它比 数据模型更独立于机器、更抽象,从而更加 稳定。 n概念结构设计是整个数据库设计的关键 51

21、n概念结构设计的特点 (1)能真实、充分地反映现实世界,包括事物和事物之 间的联系,能满足用户对数据的处理要求。是对现实 世界的一个真实模型。 (2)易于理解,从而可以用它和不熟悉计算机的用户交 换意见,用户的积极参与是数据库的设计成功的关键。 (3)易于更改,当应用环境和应用要求改变时,容易对 概念模型修改和扩充。 (4)易于向关系、网状、层次等各种数据模型转换。 52 7.3.2 概念结构设计的方法与步骤概念结构设计的方法与步骤 n设计概念结构的四类方法 n自顶向下 n 首先定义全局概念结构的框架,然后逐 步细化 n自底向上 n 首先定义各局部应用的概念结构,然后 将它们集成起来,得到全局

22、概念结构 53 n逐步扩张 n 首先定义最重要的核心概念结构,然后 向外扩充,以滚雪球的方式逐步生成其他 概念结构,直至总体概念结构 n混合策略 n 将自顶向下和自底向上相结合,用自顶 向下策略设计一个全局概念结构的框架, 以它为骨架集成由自底向上策略中设计的 各局部概念结构。 54 n三种常用抽象 1. 分类(Classification) n定义某一类概念作为现实世界中一组对象的 类型 n这些对象具有某些共同的特性和行为 n它抽象了对象值和型之间的“is member of” 的语义 n在E-R模型中,实体型就是这种抽象 55 2. 聚集(Aggregation) n定义某一类型的组成成分

23、 n它抽象了对象内部类型和成分之间“is part of”的语义 n在E-R模型中若干属性的聚集组成了实体型, 就是这种抽象 例:P217图6.11,图6.12 56 3. 概括(Generalization) n定义类型之间的一种子集联系 n它抽象了类型之间的“is subset of”的语义 n概括有一个很重要的性质:继承性。子类继 承超类上定义的所有抽象。 例:P217图6.13 57 7.3.3 概念结构设计的常用工具概念结构设计的常用工具 n用扩充的E-R图进行概念结构设计 原E-R模型不具有概括,因而对E-R模型作扩充, 允许定义超类实体型和子类实体型。 n 用双竖边的矩形框表示子

24、类, n 用直线加小圆圈表示超类-子类的联系 基本步骤如下图所示 58 59 n用UML进行概念结构设计 nUML:Unified Modeling Language nGrady Booch nIvar Jacobson nJin Rumbaugh n中文网站 nhttp:/ nhttp:/ 60 n软件开发过 程中需要那 些模型? 在软件生命 周期中至少 涉及需求、 问题、设计、 实施、测试、 部署等模型。 nUML统一了 什么模型? 可视化的元 模型 nUML图该如 何分类? 交叉共存 61 UML的图的图 n用例图(use case view) n逻辑图(logical view )

25、n构件图(component view) n并发图(concurrent view) n部署图(deployment view) n至UML 2.0版共有14种图 62 UML静态图静态图 n用例图(Use Case Diagram) n类图(Class Diagram) n对象图(Object Diagram) n构件图(Component Diagram) n部署图(Deployment Diagram) 63 UML动态图动态图 n状态图(State Diagram) n时序图(Sequence Diagram) n协作图(Collaboration Diagram) n活动图(Acti

26、vity Diagram) 64 Use Case用例图用例图 n用例:系统和外部角色的交互 n符号表示: 系统名称 系统 用例名 用例角色关联 65 Use Case图例子图例子 保险商务系统 签定保险 单 销售统计 客户统计 客户 保险销售员 66 类图类图Class Diagram 学生 姓名:string 学号:string 书 书名:string 价格:real 1购买 0.* 属于 67 对象图对象图Object Diagram 王平:学生 姓名:王平 学号:020106 英语:书 书名:英语 价格:26.5 数学:书 书名:数学 价格:21.8 68 对象间关系对象间关系 n关联

27、关系 (Association) n聚集关系(Aggregation) n泛化关系(Generalization) n依赖关系(Dependency) n细化关系 (Refinement) 69 状态图状态图State Diagram 超时 到达 上楼 上楼到达 上楼 到达 在底楼向上移动 向底楼移动 向下移动空闲 70 打印机就绪 打印文件 时序图时序图(Sequence Diagram) 打印机忙 保存文件 打印文件 打印文件计算机打印服务器打印队列计算机 71 协作图协作图(Collaboration Diagram) 打印机忙 保存文件 打印机就绪 打印文件 打印文件 计算机打印队列

28、打印服务器打印机 72 活动图活动图Activity Diagram Disk free Disk full 显示磁盘满 显示在打印 删去显示信息 建立打印文件 Win.printAll() printer.print() 73 第四节、第四节、 逻辑结构设计逻辑结构设计 【教学目标教学目标】 了解逻辑结构设计的任务 了解逻辑结构的基本方法与步骤 74 n逻辑结构设计的任务 n概念结构是各种数据模型的共同基础 n为了能够用某一DBMS实现用户需求,还必 须将概念结构进一步转化为相应的数据模型, 这正是数据库逻辑结构设计所要完成的任务。 75 n逻辑结构设计的步骤 n将概念结构转化为一般的关系、

29、网状、层次 模型 n将转化来的关系、网状、层次模型向特定 DBMS支持下的数据模型转换 n对数据模型进行优化 76 逻辑结构设计逻辑结构设计 转化为一转化为一 般数据模般数据模 型型 转化为特转化为特 定定DBMS 支持下的支持下的 据模型据模型 优化模型优化模型 概念结概念结 构设计构设计 数据库数据库 物理设计物理设计 基本基本E-R图图 转换规转换规 则则 特定特定 DBMS的的 特点与限特点与限 制制 优化方法优化方法 如规范化如规范化 理论理论 逻辑逻辑 模型模型 77 第五节、第五节、 物理设计物理设计 【教学目标教学目标】 了解物理设计的任务 了解物理设计的步骤 了解物理设计的内

30、容与方法 78 n什么是数据库的物理设计 n数据库在物理设备上的存储结构与存取方法 称为数据库的物理结构,它依赖于给定的计 算机系统。 n为一个给定的逻辑数据模型选取一个最适合 应用环境的物理结构的过程,就是数据库的 物理设计。 79 n数据库物理设计的步骤 n确定数据库的物理结构 n对物理结构进行评价,评价的重点是时间和 空间效率 n如果评价结果满足原设计要求则可进入到物 理实施阶段,否则,就需要重新设计或修改 物理结构,有时甚至要返回逻辑设计阶段修 改数据模型。 80 数据库物理设计数据库物理设计 确定数确定数 据库的据库的 物理结物理结 构构 评价数据评价数据 库的物理库的物理 结构结构

31、 逻辑结逻辑结 构设计构设计 数据库数据库 实施实施 物理物理 模型模型 81 n设计物理数据库结构的准备工作 n 1. 充分了解应用环境,详细分析要运行的 事务,以获得选择物理数据库设计所需参数 n 2. 充分了解所用RDBMS的内部特征,特别 是系统提供的存取方法和存储结构 n选择物理数据库设计所需参数 n 数据库查询事务 数据库的物理设计的内容和方法数据库的物理设计的内容和方法 82 n查询的关系 n 查询条件所涉及的属性 n 连接条件所涉及的属性 n 查询的投影属性 n数据更新事务 n被更新的关系 n每个关系上的更新操作条件所涉及的属性 n 修改操作要改变的属性值 n 每个事务在各关系上运行的频率和性能要求 83 n关系数据库物理设计的内容 n1. 为关系模式选择存取方法(建立存取路径) n2. 设计关系、索引等数据库文件的物理存 储结构 n数据库系统是多用户共享的系统,对同一个关 系要建立多条存取路径才能满

温馨提示

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

评论

0/150

提交评论