数据库的设计主要有四个步骤:需求分析、概念设计、逻辑设计和物理设计。
本章的主要知识点包括:
学习要点1、数据库设计概述
学习要点2、需求分析
学习要点3、概念设计
学习要点4、逻辑设计
学习要点5、物理设计
学习要点6、数据库的实施、运行和维护
学习要点1、数据库设计概述
数据库设计:在给定的DBMS、操作系统和硬件环境下,如何表达用户的需求,并将其转换为有效的数据库结构,构成较好的数据库模式,这个过程称为数据库设计。数据库及其应用系统开发的全过程可分为两大阶段:数据库系统的分析与设计阶段;数据库系统的实施、运行与维护阶段。
数据库设计的任务:根据一个单位的信息需求、处理需求和数据库的支撑环境,设计出数据模式(包括外模式、逻辑(概念)模式和内模式)以及典型的应用程序。其中信息需求表示一个单位所需要的数据及其结构。处理需求表示一个单位需要经常进行的数据处理。前者表达了对数据库的内容及结构的要求,也就是静态要求;后者表达了基于数据库的数据处理要求,也就是动态要求。
信息需求定义所设计的数据库将要用到的所有信息,描述实体、属性、联系的性质,描述数据之间的联系。处理需求定义所设计的数据库将要进行的数据处理,描述操作的优先次序、操作执行的频率和场合,描述操作与数据之间的联系。
数据库设计有两种不同的方法:
以信息需求为主,兼顾处理需求,这种方法称为面向数据的设计方法;
以处理需求为主,兼顾信息需求,这种方法称为面向过程的设计方法。
数据库设计的3个特点:1、反复性(Iterative)
2、试探性(Tentative)
3、分步进行(Multistage) 数据库设计的步骤:数据库的设计一般分为四步:
需求分析
概念设计
逻辑设计
物理设计(图见7-1.ppt)需求分析:
首先必须确认数据库的用户和用途。由于数据库是一个单位的模拟,数据库设计者必须对一个单位的基本情况有所了解。收集和分析这些资料的过程称为需求分析。
概念设计:
用概念数据模型,例如E-R模型,表示数据及其相互间的联系,产生反映用户信息需求和处理需求的数据库概念模式。数据库概念模式是独立于任何数据库管理系统、面向现实世界的数据模型。 逻辑设计:
在逻辑设计阶段,将第二步所得到的数据库概念模式,转换成以DBMS的逻辑数据模型表示的逻辑模式。
物理设计:
根据数据库的逻辑和概念模式、DBMS及计算机系统所提供的功能和施加的限制,设计数据库文件的物理存储结构、各种存取路径。
在不同的设计阶段将形成数据库的三层模式。
1)需求分析阶段,综合用户应用需求;
2)概念设计阶段,形成独立于数据库管理系统DBMS的概念模式;
3)逻辑设计阶段,将概念模式(可用E-R图描述)转换成DBMS支持的数据模型(如关系模型),形成数据库的逻辑模式;4)据用户处理的要求和安全性的考虑,在基本表的基础上建立必要的视图,形成数据库的外模式;
5)物理设计阶段,根据DBMS的特点和处理的需要,选择存储结构,建立索引,形成数据库的内模式。数据库的设计阶段与数据库的模式结构之间的联系如图7-2.ppt所示。
学习要点2、需求分析
需求分析分为应用领域的调查、定义数据库支持的信息与应用、定义数据库操作任务、定义数据字典等几步。
应用领域的调查:
应用领域的调查分为两个阶段。
第一阶段对应用领域的组织结构、业务流程和数据流程进行调查,对现行系统的功能和所需信息有一个明确的认识;
第二阶段是在第一阶段的基础上进行应用领域的分析,抽象出应用领域的逻辑模型,把逻辑模型用数据流图来表示。
数据流图(Data Flow Diagram):可以表示现行系统的信息流动和加工处理等详细情况,是现行系统的一种逻辑抽象表示,它独立于系统的实现。
定义操作任务:
数据库操作任务对应于最终数据库系统的事务。一个应用包括一个或多个数据库操作任务。每个数据库操作任务可属于多个应用。操作任务定义的内容如下:
学习要点3、概念设计
概念设计的任务包括两个方面:
–数据库概念模式设计:以需求分析阶段所识别的数据项为基础,使用高级数据模型建立数据库概念模式
–事务设计:考察需求分析阶段提出的数据库操作任务,形成数据库事务的高级说明 应用得最广泛的是实体联系 (E-R) 模型。E-R模型除了具有上述的特点外,还可以用E-R图表示数据模式,便于理解与交流。
数据库概念设计方法主要有两种,一种是集中式设计方法,另一种是视图综合设计方法。数据库概念设计方法(1)集中式模式设计法
首先将需求说明综合成一个统一的需求说明,然后,在此基础上设计一个单位的全局数据模式,再根据全局数据模式为各个用户组或应用定义数据库逻辑设计模式。这种方法强调统一,对各用户组和应用可能照顾不够,一般用于小的、不太复杂的单位。
数据库概念设计方法(2)视图综合设计法
视图综合设计法不要求综合成一个统一的需求说明,而是以各部分的需求说明为基础,分别设计各自的局部模式。这些局部模式实际上相当于各部分的视图,然后再以这些视图为基础,集成为一个全局模式。在视图集成过程中,可能会发现一些冲突,须对视图做适当的修改。修改后的视图可以作为逻辑设计的基础。
视图设计的基本策略(1)
自顶向下
–自顶向下的视图设计先从抽象级别高、普遍的事物开始,逐步细化、具体化、特殊化。
视图设计的基本策略(2)自底向上
–自底向上的视图设计从具体的基本事物开始,逐步抽象化、普遍化。
视图设计的基本策略(3)
由内向外
–由内向外的视图设计从最基本、最核心的事物开始,逐步扩大至有关的其他事物。以学生视图为例,先表示学生的基本数据,再表示如课外活动、兴趣小组、家庭情况等有关的其他数据。
视图综合设计方法 视图综合设计方法分为两步。第一步是设计局部概念模式,第二步把局部概念模式合并成一个完整的全局概念模式,即最终的概念数据库模式。
视图的集成(1)
确认视图中的对应关系和冲突
对应关系是指视图中语义都相同的概念,也就是它们的共同部分;冲突指相互之间有矛盾的概念。常见的冲突有下列4种:
(1)命名冲突
(2)概念冲突