数据库系统原理第三章

第三章 数据库设计

**大家想一起学习交流的可以加群,WX:MrCroods。**

第一节 数据库设计概述

一、数据库的生命周期

(1)、数据库的生命周期分为两个阶段:

1、数据库分析与设计阶段

第一个阶段包括需求分析、概念设计、逻辑设计和物理设计。

2、数据库实现与操作阶段

第二个阶段包括数据库的实现、操作与监督、修改与调整。

二、数据库设计的目标

(1)、数据库设计的目标:

1、满足应用功能需求

主要指用户当前与可预知的将来应用所需要的数据及其联系,准确存储在数据库中,满足用户所需要对数据进行存、取、删、改等操作。

2、良好的数据库性能

指对数据的高效率存取和空间的节省,并具有良好的数据共享性、完整性、一致性及安全保密性。

三、数据库设计的内容

(1)、数据库结构设计(静态

针对给定的应用环境进行数据库的模式或子模式的设计,包括数据库的概念结构设计、逻辑结构设计和物理结构设计

(2)、数据库行为设计(动态

确定数据库用户的行为和动作,而用户的行为和动作是对数据库的操作,通常是通过应用程序来实现的。

四、数据库设计的方法

(1)、直观设计法(缺乏科学理论指导

是一类最原始的数据库设计方法,它利用设计者的经验和技巧来设计数据库模式

(2)、规范设计法

是一类较为普遍、常用的数据库设计方法

1)、新奥尔良设计方法:较为完整和权威的一种规范设计方法。
四个阶段:需求分析、概念结构设计、逻辑结构设计和物理结构设计。
关注重点:注重数据库的结构设计,不太考虑数据库的行为设计。
2)、基于E-R模型的数据库设计方法
3)、基于第三范式的设计方法:一类结构化设计方法
在需求分析的基础上首先确定数据库的模式、属性及属性间的依赖关系。

(3)、计算机辅助设计法

是指在数据库设计过程中,以领域专家的知识或经验为主导,通常通过人机交互的方式来完成设计的某些过程。

五、数据库设计的方法

在这里插入图片描述

第二节 数据库设计的基本步骤

一、需求分析

需求分析的目标:了解与分析用户的信息及应用处理的要求,并将结果按一定格式整理,形成需求分析报告。报告将作为后续概念设计、逻辑设计、物理设计、数据库建立与维护的依据。
需求分析的四个步骤:确定数据库范围、分析数据应用过程、收集与分析数据、编写需求分析报告。

(1)、确定数据库范围

确定数据库应支持哪些应用功能,首先考虑的是支持用户工作需要所必须的应用要求。

(2)、应用过程分析

指了解并分析数据与数据处理间的关系。应用过程分析的结果是数据库结构设计的重要依据。
数据应用过程可以借助数据流程图或其他信息及应用结构图形表示。

(3)、收集与分析数据

其任务是了解并分析数据的组成格式及操作特征,每个数据元素的语义及关系等,收集进行归档。
数据的收集与分析工作可从数据的静态结构、动态结构及数据约束三方面展开。

1)、静态结构:指不施加应用操作于其上时数据的原始状况,可通过数据分类表和数据元素表继续说明。

①数据分类表用于数据的总体描述。
②数据元素表指通常意义下的数据项或属性。

2)、动态结构:指将应用操作施加于数据之上后数据的状况,通过任务分类表和数据操作特征表进行说明。

①任务分类表:根据对数据流程图的分析,将业务处理过程划分成不同任务。
②数据操作特征表:用以描述任务和数据之间的关系,包括不同任务对数据执行不同操作的频率

3)、数据约束:指使用数据是的特殊要求。

①数据的安全保密性:针对各种不同类数据,谁拥有操作的不同授权。
②数据的完整性:指数据正确性的约束范围和验证准则,以及一致性保护的要求。
③响应时间:指某些特定应用要求的数据存取时间限制。
④数据恢复:指转储及恢复的时机与范围等要求。

(4)、编写需求分析报告

要求:可读性强且无二义性
包含内容
1)、数据库的应用功能目标

要求:标明数据库的应用范围及应达到的应用处理功能。

2)、标明不同用户视图范围

根据机构与职能关系图和数据流程图,并参考任务分类表等,确定不同部门或功能的局部视图范围。

3)、应用处理过程需求说明

①数据流程图:反映应用部门原始业务处理的工作流程。
②任务分类表:标明不同任务的功能及使用状况。
③数据操作特征表:标明任务和数据间的联系及不同数据的不同操作特征与执行频率。
④操作过程说明书:根据数据流程图、任务分类表及数据操作特征表等,标明主要逻辑执行步骤。

4)、数据字典
是数据库系统存储三级结构定义的数据库,通常指的是数据库系统中各类数据详细描述的集合。
功能:存储和检索各种数据描述。
包含:数据分类表、数据元素表和各类原始资料。
5)、数据量
根据数据分类表中的静态数据量和操作特征表中的动态数据量,进行统计计算,求出总量。
6)、数据约束

二、概念结构设计

任务:在需求分析中产生的需求分析报告的基础上,按照特定的方法设计满足应用需求的用户信息结构(通常称为概念模型,将需求分析中得到的用户需求抽象为信息结构的过程)。
常用方法:实体分析法和属性综合法,又分别称为自顶向下法和自底向上法。

三、逻辑结构设计

目标:将概念模型转换为等价的、并为特定DBMS所支持数据模型结构。
数据库逻辑模型由:层次、网状、关系数据模型表示。

(1)、逻辑结构设计的输入信息

1)、独立于特定DBMS的概念模型
2)、有关响应时间、安全保密性、数据完整性及恢复方面的要求说明,包括保持数据一致性的规则说明。
3)、数据量及使用频率
4)、特定DBMS特性,包括DBMS支持的数据模型及数据定义语言的说明。

(2)、逻辑结构设计的输出信息

1)、一个特定DBMS支持的概念模式。
2)、一个或多个外部视图,称为子模式
3)、物理设计说明,其主要包括存入数据库中的数据量、使用频率及响应时间要求。
4)、程序设计说明(执行逻辑步、存取数据的名等的说明)

(3)、逻辑结构设计的步骤

1)、模型转换
概念模型等价地转换为特定DBMS支持的关系模型、网状模型或层次模型
2)、子模式设计
目标:抽取或导出模式的子集,以构造不同用户使用的局部数据逻辑结构。
3)、编制应用程序设计(选择题
目的:为可实际运行的应用程序设计提供依据与指导,并作为设计评价的基础。
4)、设计评价
任务:分析并检验模式及子模式的正确性与合理性,其方法事通过程序设计指南中提交的程序执行逻辑步骤在子模式上的模拟执行来考核模式及子模式是否满足应用需求,并进一步估计数据容量及存取效率,为物理设计提供参考信息。

四、物理设计

对于一个给定的数据库逻辑结构,研究并构造物理结构的过程,任务是确定数据库在存储设备上的存储结构及存取方法。

五、数据库实施

数据库实施阶段的工作:加载数据、应用程序设计、数据库试运行。

(1)、加载数据

将符合要求的初始数据装载到数据库中(数据的收集、分类等过程)。

(2)、应用程序设计

逻辑设计阶段和物理设计阶段。

(3)、数据库试运行

按生产环境运行应用程序,进行对数据库的各种操作,检验其功能和性能,如有不当,或错误,根据实际情况或修改应用程序,修改数据库物理模型等。

六、数据库运行和维护

(1)、数据库重组与重构

重组:空间利用率和存取效率下降时进行的,它不改变数据库的逻辑结构和物理结构,只利用DBMS提供的设施调整数据库中的存储位置,使有关联的数据
尽可能靠近放,提高空间利用率和数据存取效率。

重构:修改部分数据的逻辑结构或物理结构。

第三节 关系数据库设计方法

一、概念结构设计方法

采用自顶向下,通过两个步骤:首先建立局部信息结构,在将局部信息结构合成全局信息结构并优化,使用E-R图作为概念模型的描述工具。

(1)、E-R图表示方法
实体型,矩形表示
属性,椭圆表示
联系,菱形表示

(2)、局部信息结构设计

1)、局部信息结构:根据需求分析报告中标明的不同用户视图范围所建立的满足该范围内用户需求的信息结构

2)、局部信息结构设计:确定局部范围、选择实体、选择实体关键字、确定实体间联系、确定实体的属性。

①确定局部范围
局部范围主要依据需求分析报告中标明的用户视图范围来确定。
范围确定的基本准则是部门和功能相对独立,其他局部范围相互影响较少,并实体个数适量。

②选择实体
任务:在确定的局部范围内选择一些合适的信息单位作为局部信息结构的基本实体。

③选择实体的关键字属性

④确定实体间联系
常用分析实体间是否存在联系的方法:
将局部范围内的实体逐一取出来与该范围内的其他实体试行匹配,考察能否找到与两个参加试匹配的实体都有关的问题或同一任务同时使用到参与试匹配的两个实体。

⑤确定实体的属性
属性分为标识属性和说明属性两类。
标识属性用作实体的关键字,说明属性用作描述实体的一般特征。
说明属性的基本原则:说明属性的存在和使用通常依赖于标识属性。

(3)、全局信息结构设计
全局信息结构必须是所有局部信息结构的全面准确的映像,局部的应用需求,合并后仍能实现。将上述步骤中产生的所有局部信息结构合并成为一个全局信息结构。
各局部E-R图之间的冲突主要表现在三个方面:属性冲突、命名冲突和结构冲突。

1)、属性冲突
属性域冲突,即属性值的类型、取值范围、取值集合的不同。
属性取值单位冲突。
2)、命名冲突
同名异义
异名同义
3)、结构冲突
同一对象在一个局部E-R图中作为实体,而在另一个局部E-R图中作为属性。
同一实体在不同的E-R图中属性个数和类型不同。
实体之间的联系在不同的E-R图中是不同的类型。

一个好的E全局E-R图模型,应满足:实体类型个数尽可能少,实体类型联系无余,优化步骤:相关实体类型的合并、消除不必要的冗余属性、消除不必要的冗余联系

二、逻辑结构设计方法

任务:把概念结构设计产生的概念模型转换为具体的DBMS所支持的逻辑数据模型。在关系数据库设计中,就是把概念结构设计阶段设计好的E-R图转换为关系数据库管理系统所支持的关系模型,三项工作:将E-R图转换为关系模型、对关系数据模型进行优化、设计面向用户的外模式。

(1)、E-R图向关系模型的转换
转换原则:一个实体型转换为一个关系模式。
实体额属性作为关系的属性,实体的码作为关系的码。

1)、一个一对一联系可以转换为一个独立的关系模式,也可与任意一端进行合并。
2)、一个一对多联系可以转换为一个独立的关系模式,也可与N端进行合并。
3)、一个多对多联系转换为一个关系模式。
4)、三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
5)、具有相同码的关系模式可以合并。

(2)、数据模型的优化通常以关系规范化理论为指导

1)、确定各属性间的函数依赖关系
2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。
3)、判断每个关系模式的范式,根据实际需要确定最合适的范式。
4)、按照需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否要对模式进行合并或分解。
5)、对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。

(3)、设计用户子模式

1)、可以通过视图机制在设计用户视图时,重新定义某些属性的别名,使其更符合用户的习惯,以方便使用。
2)、可以对不同级别的用户定义不同视图,保证系统的安全性。
3)、简化用户对系统的使用。

三、物理设计方法

关系数据库系统的优点是:用户通常不需要进行数据存储结构和存取方法的设计。所以物理设计的任务是通过对关系建立索引和聚集来实现与应用相关数据的逻辑连接和物理聚集,以改善对数据库的存取效率。
(1)、建立索引
建立索引的方式通常有静态和动态两种。

静态建立索引是应用人员预先建立索引,一旦建立,后续的应用程序均可直接使用该索引存取数据,多适合用户较多且使用周期相对较长的数据。
动态建立索是应用人员在程序内外临时建立索引,多适合于单独用户或临时性使用要求情况。

(2)、建立聚集
将相关数据集中存放的物理存储技术,借以提高I/O的数据命中率而改善存取速度,其功能由具体的DBMS提供。
数据聚集结构的一种有效方式是块结构方式,块于块之间由指针连接,一个块对应于一个物理分区。

发布了31 篇原创文章 · 获赞 4 · 访问量 1508

猜你喜欢

转载自blog.csdn.net/qq_38471554/article/details/102869717