数据库系统原理第三章
第三章 数据库设计
第一节 数据库设计概述
一、数据库的生命周期
(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所支持数据模型结构。