Presentation is loading. Please wait.

Presentation is loading. Please wait.

高等院校计算机教材系列 数据库原理与应用(第2版).

Similar presentations


Presentation on theme: "高等院校计算机教材系列 数据库原理与应用(第2版)."— Presentation transcript:

1 高等院校计算机教材系列 数据库原理与应用(第2版)

2 8.1 数据库设计概述 8.2 数据库需求分析 8.3 数据库结构设计 8.4 数据库行为设计 8.5 数据库实施
第8章 数据库设计 8.1 数据库设计概述 8.2 数据库需求分析 8.3 数据库结构设计 8.4 数据库行为设计 8.5 数据库实施 8.6 数据库的运行和维护

3 8.1 数据库设计概述 8.1.1 数据库设计的特点 8.1.2 数据库设计方法概述 8.1.3 数据库设计的基本步骤

4 数据库设计面临的主要问题 同时具备数据库与应用业务知识的人很少。 应用业务的数据库系统的目标是什么在一开始往往不能很明确。
缺乏完善的设计工具和设计方法。 用户的要求往往并不是一开始就能完全说清楚。 应用业务系统千差万别,很难找到一种适合所有应用业务的工具和方法。

5 成功的数据库系统应具备的特点 功能强大。 能准确地表示业务数据。 容易使用和维护。 对最终用户操作的响应时间合理。 便于数据库结构的改进。
便于数据的检索和修改。 较少的数据库维护工作。 有效的安全机制能确保数据安全。 冗余数据最少或不存在。 便于数据的备份和恢复。 数据库结构对最终用户透明。

6 8.1.1 数据库设计的特点 (1)综合性 (2)结构设计与动态行为设计是分离的 涉及面广,需包含计算机专业知识及业务系统专业知识;
要解决技术及非技术两方面的问题; (2)结构设计与动态行为设计是分离的 结构设计是指数据库的模式框架设计(包括语义结构(概念)、数据结构(逻辑)、存储结构(物理)); 动态行为设计是指应用程序设计(动作操纵:功能组织、流程控制)

7 8.1.2 数据库设计方法概述 新奥尔良(New Orleans)方法
需求说明 需求 分析 概念结构 概念结 构设计 逻辑结构 逻辑结 物理结构结构 物理 设计 在数据库设计的不同阶段可使用不同的方法,如:基于E-R模型的设计方法、基于第三范式的设计方法、基于抽象语法规范的设计方法等。

8 设计说明 在设计时从数据库应用系统设计和开发的全过程来考察,既包括数据库模型的设计,也包括围绕数据库展开的应用处理的设计。
在设计过程中努力把数据库设计和系统其他成分的设计紧密结合,把数据和处理的需求、分析、抽象、设计和实现在各个阶段同时进行,相互参照,相互补充。 数据库设计方法从本质上仍然是手工设计方法,其基本思想是过程迭代和逐步求精。 2017年3月17日4时10分

9 8.1.3 数据库设计的基本步骤 需求分析 结构设计,包括概念结构设计、逻辑 结构设计和物理结构设计。
行为设计,包括功能设计、事务设计 和程序设计。 数据库实施,包括加载数据库数据和 调试运行应用程序。 数据库运行和维护阶段。

10 数据库设计全过程 需求分析 数据分析 功能分析 概念结构设计 功能设计 逻辑结构设计 事务设计 物理结构设计 程序设计 加载数据 调试运行
运行和维护

11 8.2 数据库需求分析 分析用户的要求; 是数据库设计的起点; 其结果将直接影响到后面各阶段的设计;
并影响到最终的数据库系统能否被合理地使用。

12 8.2.1 需求分析的任务 需求分析阶段的主要任务是对现实世界要处理的对象(公司,部门,企业)进行详细调查,在了解现行系统的概况、确定新系统功能的过程中,收集支持系统目标的基础数据及其处理方法。 需求分析是在用户调查的基础上,通过分析,逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。

13 需求调查内容 主要是“数据”和“处理”。 信息需求 定义未来数据库系统用到的所有信息,明确用户 将向数据库中输入什么样的数据,从数据库中要求获得哪 些内容,将要输出哪些信息。同时还要描述数据间的联系 等。 处理需求 定义系统数据处理的操作功能,描述操作的优先 次序、执行频率和场合,操作与数据间的联系。还要明确 用户要完成哪些处理功能,每种处理的执行频度,用户需 求的响应时间以及处理的方式,等。 安全性与完整性要求 描述系统中不同用户对数据库的使用 和操作情况,描述数据之间的关联关系以及数据的取值范 围要求。

14 数据处理流图 在需求分析中,通过自顶向下、逐步分解的方法分析系统。任何一个系统都可以抽象为数据流图的形式。 数据存储 数据源 数据输出 处理

15 需求分析 需求分析是整个数据库设计中最重要的一步,是其他各步骤的基础。
需求分析也是最困难最麻烦的一步,其困难之处不在于技术上,而在于要了解、分析、表达客观世界并非易事。

16 8.2.2 需求分析的方法 首先调查用户的实际需求,与用户达成共识,然后再分析和表达这些需求。 调查的重点是“数据”和“处理”。
调查时要抓住两个“流”:信息流、处理流 调查的任务是调研现行系统的业务活动规则,并提取描述系统业务的现实系统模型。 通常情况下,调查用户的需求包括三方面内容:系统的业务现状、信息源流及外部要求

17 业务现状 业务方针政策 系统的组织机构 业务内容 约束条件 各种业务的全过程。

18 信息源流 各种数据的种类、类型及数据量 各种数据的源头、流向和终点 各种数据的产生、修改、查询及更新过程和频率 各种数据与业务处理的关系

19 外部要求 对数据保密性的要求 对数据完整性的要求 对查询响应时间的要求 对新系统使用方式的要求 对输入方式的要求,对输出报表的要求
对各种数据精度的要求 对吞吐量的要求 对未来功能、性能及应用范围扩展的要求

20 需求调查常用方法 在进行需求调查时,实际上就是发现现行业务系统的运作事实。 常用的发现事实的方法有 检查文档 面谈 观察操作中的业务
研究和问卷调查等

21 检查文档 检查文档可以发现文档中有助于提供与问题相关的业务信息(或者业务事务的信息)。 如果问题与现存系统相关,则一定有与该系统相关的文档。
检查与目前系统相关的文档、表格、报告和文件是一种非常好的快速理解系统的方法。

22 面谈 是最常用的,通常也是最有用的事实发现方法。 通过面对面谈话获取有用信息。
面谈可以找出事实、确认、澄清事实、得到所有最终用户、标识需求、集中意见和观点。

23 观察业务的运转 观察是用来理解一个系统的最有效的事实发现方法之一。 使用这个技术可以参与或者观察做事的人以了解系统。
为了确保成功,要尽可能多的了解要观察的人和活动。如,所观察的活动的低谷、正常以及高峰期分别是什么时候?

24 研究 通过计算机行业的杂志、参考书和因特网来查找是否有类似的解决此问题的方法,甚至可以查找和研究是否存在解决此问题的软件包。
这种方法也有很多缺点。比如,如果存在解决此问题的方法,则可以节省很多时间,但如果没有,则可能会非常浪费时间。

25 问卷调查 问卷是一种有着特定目的的小册子,这样可以在控制答案的同时,集中一大群人的意见。
当和大批用户打交道,其他的事实发现技术都不能有效的把这些事实列成表格时,就可以采用问卷调查方式。

26 自由格式问卷 为答卷人提供的答案有更大的自由。 答卷人在题目后的空白地方写答案。如:
“你当前收到的是什么报表,它们有什么用?” “这些报告是否存在问题?如果有,请说明”。 问题:答卷人的答案可能难以列成表格,而且,有时答卷人可能答非所问。

27 固定格式问卷 包含的问题答案是特定的。回答者必须从提供的答案中选择一个。 结果容易列表。 答卷人不能提供一些有用的附加信息。如:
现在的业务系统的报告形式非常理想,不必改动。 答卷人可以选择的答案有“是”或“否”,或者一组选项,包括“非常赞同”、“同意”,“没意见”、“不同意”和“强烈反对”等。

28 8.3 数据库结构设计 数据库设计分为:数据库结构设计和数据库行为设计。 结构设计包括设计数据库的概念结构、逻辑结构和存储结构。
行为设计包括设计数据库的功能组织和流程控制。

29 8.3.1 概念结构设计 着重信息结构的设计; 是整个数据库系统设计的关键; 独立于逻辑结构设计; 独立于DBMS。

30 概念模型的特点 有丰富的语义表达能力。 易于交流和理解。 易于更改。 易于向各种数据模型转换。

31 概念结构设计的策略 自底向上。先定义局部应用的概念结构,然后按一定的规则把它们集成起来,从而得到全局概念模型。
自顶向下:先定义全局概念模型,然后再逐步细化。 由里向外:先定义最重要的核心结构,然后再逐步向外扩展。 混合策略。将自顶向下和自底向上结合起来使用。

32 采用E-R模型方法的概念结构设计 设计局部E-R模型 E-R模型的设计内容包括确定局部E-R模型的范围、定义实体、联系以及它们的属性。

33 设计局部E-R模型 概念结构是对现实世界的一种抽象。
所谓抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质细节,并把这些特性用各种概念准确的加以描述。 一般有三种抽象方法: 分类 概括 聚集

34 分类 学生 张三 李四 王五 class Is a mumber of

35 概括 学生 本科生 研究生 超类 子类 Is a subset of

36 聚集 学生 实体型 属性 学号 姓名 性别 Is a part of

37 设计全局E-R模型 将局部E-R图集成为全局E-R图; 需消除各分E-R图合并时产生的冲突; 解决冲突是合并E-R图的主要工作和关键所在。

38 冲突的种类 属性冲突: 属性域冲突 属性取值单位冲突 命名冲突: 同名异义 异名同义 结构冲突: 同一对象在不同应用中有不同的抽象
同一实体在不同的局部E-R图中包含的属性个数和属性排列次序不完全相同

39 优化全局E-R模型 实体个数尽可能少; 实体所包含的属性尽可能少; 实体间联系无冗余。

40 局部E-R图 n m 产品 产品号 性能参数 零件 零件号 价格 组成 零件个数 材料 产品 n m 材料号 材料类型 零件号 规格 使用
使用量 库存量

41 合并示例 n m 产品 产品号 性能参数 零件 零件号 规格 组成 零件个数 价格 使用 使用量 材料号 材料类型 库存量 材料

42 8.3.2 逻辑结构设计 把概念结构设计阶段设计好的E-R模型转换为具体的数据库管理系统支持的数据模型,这些模式在功能、性能、完整性和一致性约束方面满足应用要求。 步骤: 将概念模型转换为某种组织层数据模型。 对数据模型进行优化。

43 E-R模型向关系模型的转换 一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的标识符就是关系的码。 对于实体间的联系分情况处理。

44 联系的转换方法 1:1联系可以转换为一个独立的关系模式, 也可以与任意一端所对应的关系模式合并。
1:n联系可以转换为一个独立的关系模式, 也可以与n端所对应的关系模式合并。 m:n联系转换为一个关系模式。 三个或三个以上实体间的一个多元联系可 以转换为一个关系模式。 具有相同码的关系模式可以合并。

45 1:1转换示例 部门(部门号,部门名,经理号) 经理(经理号,经理名,电话) 或者: 部门(部门号,部门名)
经理(经理号,部门号,经理名,电话) 1 经理 部门 管理 部门名 部门号 经理号 经理名 电话

46 1:n转换示例 n 1 职工 部门 工作 部门名 部门号 职工号 职工名 工资 部门(部门号,部门名) 职工(职工号,部门号,职工名,工资)

47 m:n转换示例 教师(教师号,教师名,职称) 课程(课程号,课程名,学分) 授课(教师号,课程号,授课时数) n m 课程 教师 授课

48 数据模型的优化 关系数据模型的优化通常以规范化理论为指导,并考虑系统的性能。具体方法为: 确定各属性间的数据依赖。 消除冗余的联系。
确定最合适的范式。 确定是否要对某些模式进行分解或合并 。 对关系模式进行必要的分解,以提高数据的操作效率和存储空间的利用率。

49 水平分解 以时间、空间、类型等范畴属性取值为条件,满足相同条件的数据行为一个子表。
分解的依据一般以范畴属性取值范围划分数据行。这样在操作同表数据时,时空范围相对集中,便于管理。 K# A1 … Am K# A1 … Am

50 垂直分解 以非主属性所描述的应用对象生命历程的先后为条件,对应相同历程的属性为一个子表。
分解的依据是将非主属性按其数据生成的时间段划分,描述相同时间段的属性划分在一个组中。 使操作同表数据时时空范围相对集中,便于管理。 K# A11 …A1m A21 … A2n K# A11 …A1m K# A21 … A2n

51 设计外模式 将概念模型转换为逻辑数据模型之后,还应该根据局部应用需求,并结合具体的数据库管理系统的特点,设计用户的外模式。
外模式概念对应关系数据库的视图概念,设计外模式是为了更好地满足局部用户的需求。 定义数据库的模式主要是从系统的时间效率、空间效率、易维护等角度出发。

52 定义外模式考虑事项 使用更符合用户习惯的别名。 对不同级别的用户定义不同的视图,以保证数据的安全。 简化用户对系统的使用。

53 8.3.3 物理结构设计 对已确定的逻辑数据结构,利用DBMS提供的方法、技术,以较优的存储结构、数据存取路径、合理的数据存储位置以及存储分配,设计出一个高效的、可实现的物理数据库结构。 数据库的物理设计通常分为两步: 确定数据库的物理结构; 对物理结构进行时间和空间效率的评价。

54 物理结构设计的内容和方法 对于数据查询,需要得到如下信息: 对于更新数据的事务,需要得到如下信息: 查询所涉及的关系;
查询条件所涉及的属性; 连接条件所涉及的属性; 查询列表中涉及的属性。 对于更新数据的事务,需要得到如下信息: 更新所涉及的关系; 每个关系上的更新条件所涉及的属性; 更新操作所涉及的属性。

55 确定存取方法 一般用户可以通过建立索引的方法来加快数据的查询效率。 建立索引的一般原则为: 一个表可以建立多个索引,但只能建立一个聚簇索引。
在经常作为查询条件的属性上建立索引。 在经常作为连接条件的属性上建立索引。 在经常作为分组依据列的属性上建立索引。 对经常进行连接操作的表可以建立索引。 一个表可以建立多个索引,但只能建立一个聚簇索引。

56 确定存储结构 一般的存储方式有: 顺序存储 散列存储 聚簇存储 一般情况下系统都会为数据选择一种最合适的存储方式。

57 物理结构设计的评价 评价物理结构设计的方法完全依赖于具体的DBMS,主要考虑的是操作开销,即为使用户获得及时、准确的数据所需的开销和计算机的资源的开销。具体可分为如下几类: 查询和响应时间 更新事务的开销 生成报告的开销 主存储空间的开销 辅助存储空间的开销

58 8.4 数据库行为设计 8.4.1 功能需求分析 8.4.2 功能设计 8.4.3 事务设计

59 8.4.1 功能需求分析 在进行需求分析时,我们实际上进行了两项工作,一项是“数据流”的调查分析,另一项是“事务处理”过程的调查分析。
数据流的调查分析为数据库的信息结构提供了最原始的依据, 事务处理的调查分析是行为设计的基础。

60 对行为特性要进行的分析 标识所有的查询、报表、事务及动态特性,指出对数据库所要进行的各种处理;
指出对每个实体所进行的操作(增、删、改、查); 给出每个操作的语义,包括结构约束和操作约束; 给出每个操作(针对某一对象)的频率; 给出每个操作(针对某一应用)的响应时间; 给出该系统总的目标。

61 示例 教师退休行为的操作特征为: 没有未教授完的课程; 没有未完成的科研课题; 从当前教师表中删除该教师记录;
在退休教师表中插入该教师记录。

62 8.4.2 功能设计 系统目标的实现是通过系统的各功能模块来达到的。由于每个系统功能又可以划分为若干个更具体的功能模块,因此,可以从目标开始,一层一层分解下去,直到每个子功能模块只执行一个具体的任务。 ¨¨ 目标 功能2 功能n 功能1 功能22 功能23 功能21

63 例:“学籍管理”的功能结构图 学籍管理 录取分班 入学报到 录入 修改 查询 修课管理

64 8.4.3 事务设计 事务处理是计算机模拟人处理事务的过程,包括: 输入设计 输出设计 功能设计 等等

65 输入设计 原始单据的设计格式 制成输入一览表 制作输入数据描述文档

66 输出设计 用途。区分输出结果是给客户的还是用于内部或报送上级领导的。 输出设备的选择。是仅仅显示出来,还是要打印出来或需要永久保存。
输出量。 输出格式。

67 8.5 数据库实施 加载数据 调试和运行应用程序

68 1.加载数据 在数据库系统中,一般数据量都很大,各应用环境差异也很大 。 为了保证数据库中的数据正确、无误,必须十分重视数据的校验工作。
在将数据输入系统进行数据转换过程中,应该进行多次的校验。 对于重要的数据的校验更应该反复多次,确认无误后再进入到数据库中。

69 加载数据(续) 如果新建数据库的数据来自已有文件或 数据库,则应该注意旧的数据模式结构 与新的数据模式结构之间的对应关系, 然后再将旧的数据导入到新的数据库中。 目前,很多DBMS都提供了数据导入的 功能,有些DBMS还提供了功能强大的 数据转换功能。

70 2. 调试和运行应用程序 在有一部分数据加载到数据库之后,就可以开始对数据库系统进行联合调试了,这个过程又称为数据库试运行。
这一阶段要实际运行数据库应用程序,执行对数据库的各种操作,测试应用程序的功能是否满足设计要求。如果不满足,则要对应用程序进行修改、调整,直到达到设计要求为止。 在数据库试运行阶段,还要对系统的性能指标进行测试,分析其是否达到设计目标。

71 8.6 数据库的运行和维护 数据库投入运行标志着开发工作的基本完成和维护工作的开始,数据库只要存在一天,就需要不断地对它进行调整和维护。
在数据库运行阶段,对数据库的经常性的维护工作主要由数据库系统管理员完成,其主要工作包括: 数据库的备份和恢复 数据库的安全性和完整性控制 监视、分析、调整数据库性能 数据库的重组

72 数据库的备份和恢复 对数据库进行定期的备份, 一旦出现故障,要能及时地将数据库恢复到尽可能的正确状态,以减少数据库损失。

73 数据库的安全性和完整性控制 随着数据库应用环境的变化,对数据库 的安全性和完整性要求也会发生变化。 如: 收回某些用户的权限
增加、修改某些用户的权限 增加、删除用户 这都需要系统管理员对数据库进行适当 的调整,以反映这些新的变化。

74 监视、分析、调整数据库性能 监视数据库的运行情况,并对检测数据进行分析,找出能够提高性能的可行性,并适当地对数据库进行调整。
目前有些DBMS产品提供了性能检测工具,数据库系统管理员可以利用这些工具很方便地监视数据库。

75 数据库的重组 数据库经过一段时间的运行后,随着数据的不断添加、删除和修改,会使数据库的存取效率降低,这时数据库管理员可以改变数据库数据的组织方式,通过增加、删除或调整部分索引等方法,改善系统的性能。 注意数据库的重组并不改变数据库的逻辑结构。

76 数据库设计小结 数据库的结构和应用程序设计的好坏只是 相对的,它并不能保证数据库应用系统始 终处于良好的性能状态。
随着数据库的使用,系统的性能有可能会 日趋下降。 数据库的维护工作与一台机器的维护工作 类似,花的功夫越多,它服务得就越好。


Download ppt "高等院校计算机教材系列 数据库原理与应用(第2版)."

Similar presentations


Ads by Google