数据库设计.docx
《数据库设计.docx》由会员分享,可在线阅读,更多相关《数据库设计.docx(14页珍藏版)》请在冰豆网上搜索。
数据库设计
第8章数据库设计(总11页)
第8章数据库设计
教学目的:
本章主要讨论数据库设计的方法和步骤,通过实例,详细介绍了数据库设计各个阶段的目标、方法、应注意的事项。
教学重点:
1、概念结构的设计
2、逻辑结构的设计
教学难点:
1、概念结构的设计
2、逻辑结构的设计
数据库设计概述
教学目的:
使学生掌握数据库设计的基本概念和步骤。
教学重点:
数据库设计的方法和步骤
教学难点:
数据库设计的方法和步骤
教学内容:
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
数据库和信息系统
1、信息系统
是提供信息,辅助人们对环境进行控制和进行决策的系统。
2、数据库
是信息系统的核心和基础。
它把信息系统中大量的数据按一定的模型组织起来,提供存储,维护,检索数据的功能,使信息系统可以方便,及时,准确地从数据库中获得所需的信息。
3、对于从事数据库设计的专业人员来讲,应该具备多方面的技术和知识。
主要有:
数据库的基本知识和数据库设计技术;
计算机科学的基础知识和程序设计的方法和技巧;
软件工程的原理和方法;
应用领域的知识。
数据库设计的特点
1.数据库建设是硬件,软件和干件的结合。
2.要把结构(数据)设计和行为(处理)设计密切结合起来。
数据库设计方法简述
1.新奥尔良(NewOrleans)方法。
它将数据库设计分为四个阶段:
需求分析(分析用户要求)
概念设计(信息分析和定义)
逻辑设计(设计实现)
物理设计(物理数据库设计)。
2.基于E-R模型的数据库设计方法
3.基于3NF(第三范式)的设计方法
4.基于抽象语法规范的设计方法
5.数据库设计工具:
计算机辅助软件工程(ComputerAidedSoftwareEngineering,简称CASE)
数据库设计的基本步骤
分为六个阶段
需求分析
概念结构设计
逻辑结构设计
物理结构设计
数据库实施
数据库运行和维护
1.需求分析阶段:
进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)
2.概念结构设计阶段:
概念结构设计是整个数据库设计的关键,主要是E—R图的绘制。
3.逻辑结构设计阶段
E—R图转换为关系模型。
4.数据库物理设计阶段:
包括存储结构和存取方法
5.数据库实施阶段:
编制与调试应用程序,组织数据入库,并进行试运行
6.数据库运行和维护阶段:
进行评价,调整与修改
8.2需求分析
教学目的:
使学生掌握数据库设计中的需求分析的任务,和如何进行需求分析。
教学重点:
需求分析的方法
教学难点:
需求分析的方法
教学内容:
需求分析的重点是调查“数据”和“处理”,通过调查,收集与分析,获得用户对数据库的如下要求:
1.信息要求。
2.处理要求。
3.安全性与完整性要求。
需求分析的方法
1.调查用户需求的具体步骤:
(1)调查组织机构情况。
(2)调查各部门的业务活动情况。
(3)在熟悉了业务活动的基础上,协助用户明确对新系统的各种要求,包括信息要求,处理要求,完全性与完整性要求。
(4)确定新系统的边界
2.常用的调查方法:
(1)跟班作业。
(2)开调查会
(3)请专人介绍
(4)询问
(5)设计调查表请用户填写
(6)查阅记录
数据字典
数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合。
数据字典通常包括数据项,数据结构,数据流,数据存储和处理过程五个部分。
1.数据项
数据项是不可再分的数据单位。
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系}
2、数据结构
反映了数据之间的组合关系。
数据结构描述={数据结构名,含义说明,组成:
{数据项或数据结构}}
3.数据流
数据结构在系统内的传输的路径。
数据流描述={数据流名,说明,数据流来源,数据流去向,
组成:
{数据结构},平均流量,高峰期流量}
4.数据存储
数据结构停留或保存的地方。
数据存储描述={数据存储名,说明,编号,输入的数据流,输出的数据流,组成:
{数据结构},数据量,存取频度,存取方式}
5.处理过程
一般用判定表或判定树来描述。
处理过程描述={处理过程名,说明,输入:
{数据流},输出:
{数据流},处理:
{简要说明}}
强调两点:
(1)设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充。
(2)必须强调用户的参与,这是数据库应用系统设计的特点。
概念结构设计
教学目的:
使学生掌握数据库设计中的概念结构设计的任务,和如何进行概念结构设计。
教学重点:
概念结构设计的方法与步骤
教学难点:
数据抽象和局部视图设计
教学内容:
概念结构
概念结构的主要特点:
(1)能真实,充分地反映现实世界,包括事物和事物之间的联系
(2)易于理解
(3)易于更改
(4)易于向关系,网状,层次等各种数据模型转换
概念结构设计的方法与步骤
设计概念结构通常有四类方法:
自顶向下
自底向上
逐步扩张
混合策略
其中最经常用的策略是:
自顶向下地进行需求分析,自顶向上地设计概念结构。
数据抽象与局部视图设计
概念结构是对现实世界的一种抽象。
一般有三种抽象:
分类(Classificattion)
定义某一类概念作为现实世界中一组对象的类型。
聚集(Aggregation)
定义某一类型的组成成分。
概括(Generalizzation)
定义类型之间的一种子集联系。
原E-R模型不具有概括,这里对E-R模型作了扩充,允许定义超类实体型和子类实体型。
并用双竖边的矩形框表示子类,用直线加小圆圈表示超类-子类的联系。
利用抽象机制对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性、标识实体的码,确定实体之间的联系类型(1:
,1:
n,m:
n),设计分E-R图。
具体做法:
1.选择局部应用
作为设计分E-R图的出发点。
2.逐一设计分E-R图
为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。
(1)作为“属性”,不能再具有需要描述的性质。
“属性”必须是不可分的数据项,不能包含其他属性。
(2)“属性不拧与其它实体具有联系,即E-R图中所表示的联系是实体之间的联系。
例1:
职工是一个实体,职工号,姓名,年龄是职工的属性。
职称如果没有与工资、福利挂钩、换句话说,没有需要进一步描述的特性,则根据准则
(1)可以作为职工实体的属性。
但如果不同的职称有不同的工资,住房标准和不同的附加福利,则职称作为一个实体看待就更恰当。
例2:
在医院中,一个只能住在一个病房,病房号可以作为病人实体的一个属性。
但如果病房还要与医生实体发生联系,即一个医生负责几个病房的病人的医疗工作,则病房根据准则
(2)应作为一个实体。
视图的集成
视图集成可以有两种方式:
多个分E-R图一次集成。
逐步集成,用累加的方式一次集成两个分E-R图。
1.合并分E-R图,生成初步E-R图
各分E-R图之间的冲突主要有三类:
属性冲突
命名冲突
结构冲突
解决方法是根据应用的语义对实体联系的类型类型综合或调整。
1、消除不必要的冗余,设计基本E-R图
(1)消除冗余主要采用分析方法。
(2)用规范化理论来消除冗余。
逻辑结构设计
教学目的:
使学生掌握数据库设计中的逻辑结构设计的任务,和如何进行逻辑结构设计。
教学重点:
逻辑结构设计的方法与步骤
教学难点:
逻辑结构设计的方法与步骤
教学内容:
设计逻辑结构时一般要分三步进行:
1)将概念结构(E-R图)转换为一般的关系、网状、层次模型;
2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
3)对数据模型进行优化。
E-R图向关系模型的转换(第二章已讲)
数据模型的优化
1、确定数据依赖。
2、对于各个关系模式之间的数据以来进行极小化处理,消除冗余的联系。
3、按照数据依赖的理论的理论对关系模式逐一进行分析。
4、按照需求分析阶段得到的处理要求,进行合并或分解。
5、对关系模式进行必要的分解。
设计用户子模式
结合DBMS的特点,设计用户的外模式。
(1)使用更符合用户习惯的别名
(2)可以对不同级别的用户定义不同的View,以保证系统的安全性。
(3)简化拥护对系统的使用
数据库的物理设计
教学目的:
使学生掌握数据库设计中物理设计的任务,和如何进行物理结构设计。
教学重点:
物理结构设计的方法与步骤
教学难点:
物理结构设计的方法与步骤
教学内容:
数据库的物理设计通常分两步:
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存取结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
数据库的物理设计的内容和方法
没有通用的物理设计可以遵循
(1)事务响应时间小
(2)存储空间利用效率高
(3)事务吞吐率大
通常对于关系数据库物理设计的内容主要包括:
为关系模式选择存取方法;
设计关系、索取等数据库文件的物理结构
关系模式存取方法选择
索引方法:
B+树索引最为常用
聚簇方法:
HASH方法:
数据库的实施和维护
教学目的:
使学生掌握数据库设计中实施和维护的任务,和如何进行实施和维护。
教学重点:
数据的载入和应用程序的调试及运行
教学难点:
数据的载入和应用程序的调试及运行
教学内容:
物理设计之后,设计人员要用RDBMS提供的数据结构定义语句和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式。
然后就可以组织数据入库了,这就是数据库实施阶段。
数据的载入和应用程序的调试
数据库实施阶段包括两项重要的工作,
(1)数据的载入,
(2)应用程序的编码和调试
数据库的试运行
在原有系统的数据有一小部分已输入数据库后,就可以开始对数据库系统进行联合调试,这又称为数据库的试运行。
数据库的运行和维护
数据库运行合格后,数据库开发工作就基本完成,即可投入正式运行了。
在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,它包括:
1、数据库的转储和恢复
2、数据库的安全性、完整性控制
3、数据库性能的监督、分析和改造
4、数据库的重要组织与重改造
作业:
1.试述数据库设计过程
2.需求分析阶段的设计目标是什么调查的内容是什么
24.