资源描述
*,Designed by Tao Hongcai,*,第9章 数据库应用设计,学习目的和要求,设计导论,需求分析,概念数据库设计,逻辑数据库设计,数据库物理设计,11/14/2024,1,Designed by Tao Hongcai,第9章 数据库应用设计学习目的和要求 设计导论 需求分析,9.1 数据库应用设计导论,一.数据库应用设计问题,处理需求:,数据处理-动态要求。,信息需求:,数据及其结构-静态要求。,数据库设计基本任务:,根据给定应用领域的信息需求、处理需求和数据库支撑环境,设计出数据模式(包括外模式、逻辑/概念模式、内模式)及典型应用程序。,数据库设计目标:,为用户和各种应用系统提供高效(时间、空间)的运行环境。,数据库设计考虑的内容:,数据库设计的特征:,反复性,(iterative),;,试探性,(tentative),;,分步进行,(multi-stage),。,计算机软硬件环境;,完整性和安全性约束。,DBMS能力;,用户信息和处理要求;,11/14/2024,2,Designed by Tao Hongcai,9.1 数据库应用设计导论一.数据库应用设计问题,二.数据库应用系统生命周期,生命周期分二个阶段:,设计阶段;,实现和操作阶段。,实现和操作阶段:,设计阶段:,需求分析;,概念设计;,逻辑设计;,物理设计。,操作与监督;,DB实现;,修改与调整。,11/14/2024,3,Designed by Tao Hongcai,二.数据库应用系统生命周期 生命周期分二个阶段,三.数据库设计过程,前二个步骤的分析与设计:,可独立于任何具体的DBMS进行。,逻辑设计结果:,逻辑数据库模式(特定数据模型);,后二个步骤的设计:,与具体的DBMS密切相关。,需求分析结果,:,需求分析说明书;,概念设计结果:,概念数据库模式(高级数据模型);,物理设计结果:,物理数据库模式(特定的物理存储结构和存取方法)。,11/14/2024,4,Designed by Tao Hongcai,三.数据库设计过程 前二个步骤的分析与设计:可,9.2 需求分析,需求分析的步骤:,需求分析的目标:,给出应用领域中数据项、数据项之间的关系和数据操作任务的详细定义,为其后的设计奠定基础,也为优化数据库的逻辑结构和物理结构提供依据。,需求分析的任务:,调查应用领域,对应用领域中各应用的信息要求和操作要求进行详细分析,形成需求分析说明书。,预测应用领域的未来改变(包括尚未规范的应用、现有应用可能的变化以及因此对DB的影响)。,应用领域的调查分析(包括组织结构、业务流程和数据流程,调查计划安排、调查方法制定);,定义数据项字典;,定义数据库支持的信息与应用;,定义数据库操作任务;,11/14/2024,5,Designed by Tao Hongcai,9.2 需求分析 需求分析的步骤:,9.3 概念数据库设计,概念设计的基本步骤:,可选用的概念数据模型:,实体联系模型(Entity Relationship Model)、对象数据模型。,形成概念数据库的EER图。,确定实体型及其属性和键;,确定实体型之间的范畴联系及其相关约束;,确定实体型之间的联系及其相关的约束;,使用演绎或归纳方法确定实体型之间的超类/子类联系及其相关约束;,概念设计方法:,集中式设计方法;,视图综合(或集成)设计方法。,集中式设计方法分两步:,合并在需求分析阶段得到的各种应用的需求;,在此基础上,设计一个概念数据库模式,满足所有应用的要求。,11/14/2024,6,Designed by Tao Hongcai,9.3 概念数据库设计 概念设计的基本步骤:,视图设计阶段:,要根据每个应用的需求,为每个用户和应用设计一个概念数据库模式。每个应用的概念数据库模式称为,视图,,可以作为支持各种应用的,外模式,。,视图综合设计方法分两个阶段:,视图设计阶段;,视图合并阶段。,视图合并阶段:,将所有视图有机地合并成为一个统一的概念数据库模式。它支持所有的应用。,11/14/2024,7,Designed by Tao Hongcai,视图设计阶段:要根据每个应用的需求,为每个用户,9.4 逻辑数据库设计,逻辑数据库设计的目标:,逻辑数据库设计的任务:,将概念数据库设计阶段产生的概念数据库模式变换为逻辑数据库模式。,满足用户的完整性和安全性要求;,存储空间利用率高。,动态关系至少为第三范式形式,静态关系至少为第一范式的形式;,能够在逻辑级上高效率地支持各种数据库事务的运行;,逻辑数据库的设计依赖于:,逻辑数据模型和数据库管理系统。,11/14/2024,8,Designed by Tao Hongcai,9.4 逻辑数据库设计 逻辑数据库设计的目标:,逻辑数据库设计的步骤:,外模式设计;,形成初始关系数据库模式;,定义关系上的完整性和安全性约束;,关系模式规范化;,关系模式优化;,性能调整。,数据库性能调整的措施:,(1),减少连接运算(开销大);,(2),减少关系的大小和数据量;,(3),尽可能使用快照(查询结果存储,例如报表)。,方法:,针对小范围快速查询,可将关系水平分割(全范围数据分成小范围数据);,针对查询不多的属性,可并关系垂直分割(分成多个关系)。,11/14/2024,9,Designed by Tao Hongcai,逻辑数据库设计的步骤:,9.5 数据库物理设计,一.影响物理设计的因素,事务分析的好处:,对数据库的事务的分析,可获得选择优化物理设计策略所需要的参数,有助于存储结构和存储方法的选择。,设计步骤:,分析影响物理设计的因素;,为关系模式选择存取方法;,设计关系、索引等DB文件的存储结构。,设计任务:,为每个关系模式选择合适的存储结构和存取路径,即设计数据库的内模式,使得DB上的事务能高效运行。,应了解的常用的事务:,查询事务;,更新事务。以作为确 定关系存取方法的依据。,对查询事务,应了解:,查询的关系;,查询的投影属性。,查询条件所涉及的属性;,连接条件所涉及的属性;,11/14/2024,10,Designed by Tao Hongcai,9.5 数据库物理设计一.影响物理设计的因素,二.为关系模式选择存取方法,其他应了解的因素:,事务在各关系上运行的频率、事务要求的时间性能等,都对存取方法的选择具有重大影响。,索引方法;,DBMS提供的存取方法有:,存取方法:,是使事务能快速存取DB中数据的技术。,对更新事务,应了解:,被更新的关系;,修改操作要改变的属性值。,每个关系上的更新操作的类型;,删除和修改操作条件所涉及的属性;,HASH方法;,聚簇方法。,11/14/2024,11,Designed by Tao Hongcai,二.为关系模式选择存取方法 其他应了解的因素:,规则:,如一关系的属性主要出现在等连接操作条件中,或主要出现在相等比较选择条件中,且满足如下条件之一,则可选择HASH存取方法:,HASH存取方法的选择,如关系大小动态变化,且DBMS提供了动态HASH存取方法。,如一关系大小可预知,且不变;,索引方法的选择,如一个/组属性经常在操作条件中出现,可考虑在这些属性上建立索引;,如一个/组属性经常作为投影属性使用,可考虑在这些属性上建立索引。,如一个属性经常作为聚集函数的参数,可考虑在此属性上建立索引;,如一个/组属性经常在连接操作的连接条件中出现,可考虑在这些属性上建立索引;,11/14/2024,12,Designed by Tao Hongcai,规则:如一关系的属性主要出现在等连接操作条件,取消候选聚簇关系组中不必要的关系的规则:,如一关系的一个/组属性上的实例值重复率很高,则此单个关系可作为聚簇关系组,该组属性作为聚簇键。,从聚簇组中删除更新操作远大于连接操作的关系。,从聚簇组中删除经常进行全关系扫描的关系;,聚簇存取方法选择,选取方法:,首先确定聚簇关系组,即确定需要多少个聚簇,每个聚簇中包含哪些关系。,如一关系的一组属性经常出现在相等比较条件中,则该单个关系可作为聚簇关系组,该组属性作为聚簇键;,聚簇关系组的确定规则:,经常在一起进行连接操作的关系可作为聚簇关系组,连接属性作为聚簇键;,11/14/2024,13,Designed by Tao Hongcai,取消候选聚簇关系组中不必要的关系的规则:,三.物理存储结构的设计,注意:,不同的DBMS提供的磁盘空间管理策略差别较大,在磁盘上存储关系、索引和聚簇的方法也不同。,目的:,确定如何在磁盘上存储关系、索引和聚簇,使得空间利用率最大化,数据操作引起的系统开销最小化。,参数选择:,对具体的DBMS,其物理存储结构的设计主要集中在一些参数值的选择上。,The End,11/14/2024,14,Designed by Tao Hongcai,三.物理存储结构的设计 注意:不同的DBMS提,
展开阅读全文