数据库设计学习笔记.docx
- 文档编号:24267057
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:20
- 大小:100.48KB
数据库设计学习笔记.docx
《数据库设计学习笔记.docx》由会员分享,可在线阅读,更多相关《数据库设计学习笔记.docx(20页珍藏版)》请在冰豆网上搜索。
数据库设计学习笔记
数据库设计
第一节数据库设计综述
数据库设计:
是利用现有的DBMS针对具体的应用对象,构建合适的数据库模式,建立数据库和应用系统,以便有效的存储和存取数据,满足各来用户的需求。
数据库设计是一项涉及众多知识领域的应用型软件工程,在信息社会的今天,它一超除了计算机领域的界限,成为几乎所有领域的共同的基础性学科技术。
数据库设计是一项应用开发,其最根本的目的在于实用,最权威的评委是用户最高的评价和奖赏是推动了生产、科研和管理,获得了显著的经济效率和社会效率。
计算机人员设计数据库的弊端:
然而同时具备数据库方面的知识和应用对象的业务知识的人是极少的。
在我国较多的情况是计算机的人去承担某一企业部门的管理信息系统的设计和实现任务于是他们必须花费很多的时间去熟悉了解他们所不熟悉的某一部门的专业知识这一过程有时相当麻烦,他们去调研时会遇到许多不便,而且了解的内容都与设计人员原有的计算机知识毫不相干,久而久之,设计人员感到枯燥乏味,并产生沿站和中途退场的想法,这是一个最大的潜在威胁,并威胁着系统的最后成功。
还有由于承担部门和应用部门是一种委托雇佣关系,所以可观赏基于存在着对立的势态:
我出钱,你干活;我挑毛病,你辩护。
最后双方关系搞得很紧张,无形中增加了人为的复杂性从而影响了工作效率。
“三分技术,七分扯皮”这就是数据库设计的的一个特点。
用户单位设计自己的应用系统
一来因熟悉本职工作,设计的系统符合实际,实用,生命力强。
二来因为用户有自己的成果,他们对自己设计的系统有感情,即使有些小毛病他们也会去完善它或容忍它,同时乐于使用它,这就决定了系统具有很强的生命力。
1、是它的静态结构设计(数据库的模式框架设计)和动态行为设计(应用程序设计)是分离进行的。
数据库设计与传统的软件设计做法正好相反。
数据库设计的主要精力首先应放在数据模型及结构特性的设计上,这是数据库设计中头等重要的大事。
二、数据库设计和管理信息系统在用计算机建立管理信息系统过程中最主要的知识和技术是数据库设计方面的知识和技术,最关键的阶段和进程是数据库设计
一个性能良好的数据库是管理信息系统优质的基础和保证
三、数据库设计的特点
数据库设计有两个明显的特点:
1、是它的综合性:
包含两层含义:
(1)、涉及的知识面宽。
除了计算机本身的知识,还由应用对象的专业业务知识。
(2)、数据库除了要解决技术方面的问题外,更多的是要解决非技术方面的问题。
包括组织结构的调整、经营方针的改变,管理体制的变更等等。
四、数据库设计方法
1、基本设计法
这是传统的数据库设计方法,分五步进行:
⑴、创建用户视图。
及用轮廓图描述具体用户的信息和操作。
⑵、汇总用户视图。
及综合各用户的视图,得出表示整个部门全局数据视图,即概念模型。
概念模型必须满足下列条件:
1准确反映各用户视图
2满足各用户的处理要求
3具有一致性
因此,视图汇总首先要解决不一致性问题和结构冗余问题。
⑶、修改概念模型。
及验证第二步的概念模型是否满足上述三条件,否则调整概念模型。
⑷、转换并定义概念模型。
及将上述概念模型转换为DBMS能接收的数据模型,;利用DBMS的模
式描述语言定义上述数据模型。
⑸、设计优化物理模型。
及根据DBMS的规定和要求对概念模型进行物理细节安排,决定较优的
存储策略。
图1、结构设计和行为设计分离进行的模型
2、关系模型设计方法
它包括以下几部分:
(1)、静态的结构特性设计。
及确定实体、属性及其相互关系和约束。
(2)、动态的行为特性设计。
集设计数据查询、事务处理等应用程序。
(3)、物理设计。
及在DBMS环境下实现数据的物理存放。
3、NewOrleans设计法
1979年Lem等人在NewOrleans数据库设计讨论会上提出的一种数据设计方法。
4、信息结构求精法:
比较实用的逻辑和物理设计方法
(1)、逻辑设计包括
1、信息结构设计一一视图模型化及汇总
2、信息结构求精一一定义和合并各逻辑信息结构,将逻辑DB结构形式化,对逻辑DB结构
求精。
(2)、物理设计主要解决以下四个问题
1存取路径的选择
2记录聚集的分析和设计
3决定块大小、缓冲区大小,数据压缩技术
4完整性和安全性约束
5、LRAM(LogicRecordAceessMethod)
LRAM提供了一个度量各种性能的工具,是逻辑结构求精的辅助手段。
它可以估计要检索一个记录所需的I/O次数
共同约束
信息需求
处理需求
V
企业视图
存取需求
视图冲突1
物理设计
W、物理设计
V、性能评价
NewOrleans设计法
五、数据库设计步骤
分两大阶段,六个步骤:
(1)数据库设计阶段
1需求分析
2概念设计
3
逻辑设计
4应用设计
5
物理设计
6数据装入
(2)数据库使用维护阶段
1数据库运行
2数据库维护
3数据库重组
数据库设计各阶段占有时间百分比
步骤
占设计阶段百分比
占整个DB生命周期百分比
①需求分析
10%
3%
2概念设计
3逻辑设计
4物理设计
10%
3%
⑤应用设计
60%
20%
⑥模拟调试
20%
7%
⑦运行维护
67%
第二节需求分析
需求分析是整个管理信息系统设计中最重要的一步,也是最困难、最麻烦的一步。
其困难在于要了解、
分析、表达客观世界并非容易。
一、需求调查
这一步的本质是对现实世界的处理对象进行调查、分析、命名、表示并构造一个简明的全局数据
视图。
它是整个企业的信息轮廓框架。
系统调查:
到应用部门调查和收集需要处理的数据。
系统调查的重点是“数据”和“处理”。
调查前要拟定调查提纲。
调查是要进抓住两个“流”,及
“信息流”和“处理流”,要跟踪这两个流,而且要不断将两者结合起来。
通常系统调查包括三方面的内容:
企业的业务现状、信息源流、外部要求。
1、业务现状
(1)经营方针策略
(2)企业的组织结构
(3)经营内容
(4)约束条件
(5)各种业务的全过程
2、信息源流
(1)各种票据的种类、数据类型和数据量
(2)各种票据的源头、流向和终点
(3)各种票据的产生、修改、查询及更新过程和频率
(4)各种票据与业务处理的关系
3、外部要求
(1)对数据保密性的要求
(2)对数据完整性的要求
(3)对查询响应时间的要求
(4)对新系统使用方式的要求
(5)对输入方式的要求
(6)对输出报表的要求
(7)对各种数据精度的要求
(8)对吞吐量的要求
(9)领导层对整个系统的总目标的要求
(10)对未来功能、性能及应用范围扩展的要求
调查方式:
(1)业务部门发调查提纲或调查表
(2)开调查会
(3)个别访问。
对业务和信息流向特别熟悉的有丰富经验的行家进行专门访问
(4)向场观看或跟班作业
(5)查阅各种票据
(6)使用各种调查工具,如“事务工程分析图”和“事务流程图”。
、需求分析
系统调查的具体任务:
(1)提出整个企业的经营管理及组织结构的改进方案。
(2)确定计算机应当处理并且也能够处理的范围和内容。
及确定用计算机处理的目标、范围和内容。
(3)分析现有系统存在的问题,以及新系统改进的建议
(4)分析旧的系统组织机构、经营方针存在的问题和改进设想。
(5)从
(2)的结果确定事务处理的范围和内容,即定义系统的处理功能。
(6)分析实际使用的统计数字,例如各种信息查询的频率、插入、删除的频率,更新的频率等。
(7)确定实体、属性及实体的关系,以及数据的类型、取值范围、属性长度、属性值的意义。
(8)分析其它各种情况和要求,例如响应时间、吞吐量、保密性、安全性、完整性、数据保存的时间。
(9)分析统计各种类型的数据量,并折算成外存单位的数量(一兆为单位),最后计算出总的外
存空间。
(10)根据调查的结果,分析系统应具备的功能。
在系统分析时应划出数据分析表,例如重复数据分析表
教学登记表
科研登记表
人事登记表
工资卡
1、编号
★
★
★
★
2、姓名
★
★
★
★
3、出生年月
★
★
4、职务
★
★
★
决策支持表
决策规则
退休
增加一级工资
发给荣誉证
年龄》60
★
★
条
职务=教授
★
件
工龄》15
★
职务=讲师
数据功能表
功能
数据项、\^
功能模块1
功能模块2
功能模块3
5555
数据项1
数据项2
55
第三节概念设计
概念设计:
信息结构的设计。
它是整个数据库设计的关键。
需求分析所得的结果从这一步开始要将“数据”和“处理”分开考虑。
概念设计着重信息结构的设
计,而"处理”则由应用设计来考虑。
一、概念设计的目标:
1、能客观真实地反映现实世界,是现实世界的真实模型。
2、能满足各个用户对数据处理的要求。
3、易于理解,从而可以和不熟悉计算机的用户交换意见。
用户的积极参与是数据库设计的成功关键。
4、易于改动和扩充,以适应客观世界的变化。
二、局部视图设计
概念设计分两步:
局部视图设计、全局视图设计。
1、局部视图设计
E-R模型是比其它三种基本数据模型更抽象、更高级、更一般、更接近现实世界的实用模型。
概念设计的第一步:
利用利用E-R模型的抽象机制对数据进行分类、组织,形成实体及其属性,
确定实体之间的联系。
首先设计局部视图,即画出局部E-R图。
实体与属性划分的原则:
(1)、作为属性时,在指定的环境下不能有更多的信息表达,即它是本系统中最小的信息单位。
(2)、如果一个“属性”它有更多的信息描述,这应作为实体考虑。
二、全局视图设计
上一步得到的各个局部E-R图集成汇合成一个整体的E-R图,即全局视图。
这一步的要求是消除冗余
和消除冲突。
(一)、消除冗余
1、用分析法消除冗余数据
需求分析时形成的数据流程图对于消除冗余是很有用的。
通过对有关数据的分析,如果发现
某数据能通过其他数据运算得到,这可将该数据舍去。
2、利用关系理论来消除冗余数据
在关系理论中,求最小依赖集可用来消除冗余。
其方法是;
(1)、建立函数依赖集F;
(2)、求最小依赖集F/,求其差积D,即D=F—F/;
(3)、逐一考察每一函数依赖集,确定是否为冗余;
(4)、得到基本E-R图。
(二)、消除冲突
冲突的类型有:
1、属性冲突
(1)、属性域冲突。
即属性的类型、取值范围和取值集合发生冲突。
例如年龄,由的用整数,有的用出生年月表示。
(2)、属性取值单位冲突。
2、结构冲突
(1)同一对象在不同的应用中有不同的抽象。
在一处应用中用实体,而在另一处应用中用属性表示。
(2)同一实体在不同的应用中E-R图的属性组成不同,包括属性组成、次序。
(3)实体联系在不同的地方呈现不同的类型。
3、命名冲突
属性名、实体名、联系名在不同的场合可能发生:
同名异义(一词多义)
异名同义(多词一义)
第四节逻辑设计
一、E-R图向实际数据模型的转换
1、E-R模型向网状模型和层次模型的转换(略)。
2、E-R模型转向关系模型
(1)、写出各实体内部属性间的函数依赖。
(2)、将基本E-R图中的实体换成主关键字。
(3)、将
(1)、
(2)得到的函数依赖按相同左部分组合,得到一组关系,形成一个关系数据库模式。
二、关系理论的应用
关系数据库理论是数据库逻辑设计的指南和工具。
其具体应用为:
1、在数据分析时用数据依赖的概念分析和表示各数据项之间的关系。
‘
2、在设计阶段,用于消除冗余的联系。
3、在E-R图向各数据模型转换时,用模式分解的概念和算法指导设计。
下面讨论的三方面的应用:
不管DBMS是什么模型,均线转换成关系模型,在转换称向应的DBMS所支持的数据模型。
(1)、确定函数依赖。
将实体之间的联系用函数依赖表达式表示,并用实体的主关键字代替相应的实体,
这样就得到一组数据依赖记为F,由设全部属性集为U。
(2)、用关系框架来表示每一个实体集及其联系,从而得到一组关系模式。
(3)、按关系理论逐一分析这组关系模式中的每一个,检查是否存在非主属性对于某一候选关键字的部分函数依赖、传递依赖等。
确定它们分别属于第几范式。
(4)、分解关系模式。
根据规范分解的理论和算法,将其分解成合适的模式。
到的分解到几范式,则要看实际需要,权衡分解带来的好处和弊病。
其好处是消除了更新异常,弊病是在需涉及多个关系的查询时要进行联接运算,而联接也将大大降低效率。
一般情况下第三范式已足以满足要求了。
第五节物理设计
数据库的物理设计:
对于一个给定的逻辑数据模型,选取一个最适合应用环境的物理结构的过程。
所谓的物理设计主要指数据库在物理设备上的存储结构和存取方法。
一、物理设计可分两步:
第一步确定数据库的物理结构;第二步评价物理结构的性能。
评价的重点是时间和空间的效率,若满足则继续往下进行,否则就重新修改设计。
二、一般在物理设计前应了解以下几个问题:
1、了解并熟悉DBMS的功能、DBMS提供的物理环境和工具,特别是存储结构和存取方法。
设计人员应熟悉DBMS提供的每一种存储结构的使用方式、特点及优缺点。
2、了解应用环境,连接各用户的数据视图,使用频率,使用要求。
3、了解外存设备的特性,如分块的原则,块因子大小的规定,设备的I/O特性等。
三、物理设计通常包括下列主要内容:
1、选择文件组织策略确定文件组织的主要考虑是三方面:
存取时间、空间利用、维护费用。
2、选择存取路径以下几个问题要弄清楚:
(1)、文件间的联系在层次和网状模型中,文件间的联系杜是通过指针链来实现的。
这些指针链占据的空间相当可观,多地达到50%。
在关系模型中,从理论上讲各个关系间没有指针但实际中为了提高效率,仍然使用了少量的指针。
设计者为了提高效率,可以再定义模式时指明。
(2)、存取算法对于层次和网状模型,所谓存取路径的选择完全由用户来做,用户的担子较重。
设计者在定义模式时,就应该考虑到将来使用的实际情况。
物理结构上应作这样的安排,才能使得最经常的查找效率高、成本低。
而查找时用户必须指出查找的路径。
在关系模型的环境下,存取路径不需要用户去选择,一切由系统自动进行。
系统至多提供创建索引、创建文件间的链关系等极有限的物理手段。
所以物理设计对于设计者没有很多工作要做。
(3)、多关键字的查询
与上一问题相仿。
(4)、确定数据的存放位置把经常存取和不常存取的数据分开,把要求很快查询和不要求很快查询的数据分开。
对于经常存取、时间要求高的数据通常放在高速存储器上,且放在靠近中间磁道的位置。
同一文件也可根据对各数据项不同的使用要求划分为两个或多个物理记录,并把它们存放在不同的地方以提高存取效率。
(5)、确定物理参数
DBMS提供一些存储分配的参数,供设计者进行物理设计优化。
例如溢出空间的大小和分布参数,块长,块因子大小,装载因子,缓冲区大小和个数。
3、选择索引索引是提高数据库检索速度的一个基本手段,它的代价是消耗一定的外存空间。
所以在空间允许的情况系阿,不妨多建些索引。
在哪些属性上建索引,才能使检索的成本最低,而效率最高。
这个问题在实际情况下比较复杂。
最主要的几个因素:
1、各个属性在查询的限定条件中出现的概率
2、各个属性值域中的元素个数
3、修改、插入、删除的频率显然,概率对阿的属性应首先检索,如果各属性的被限定的概率相同,则应选择属性值集中元素个数最多的首先检索。
4、记录聚集记录聚集指根据不同的使用要求将属性记录和文件在物理存储时集中放置,或放在同一块,或在同一个磁道,或在同一个柱面上。
聚集有三种情况:
(1)、分段。
即将文件垂直分解,其按属性分组,将经常使用的属性存放在一起,而很少存取的属性存放在另一处。
一个文件中同类属性聚集存放,即同一属性值的记录放在一起
(2)、分区。
即将文件按水平方向分解,把长使用的记录,或要一次顺序存取的记录放在一起,把不
经常使用的记录放在另一处。
同一文件的记录分组存放。
3)、聚集。
及几种文件中的记录放在一起。
不同的文件的记录聚集存放。
数据库中的文件是有联系的,有时可以通过一个文件的记录找到另一个文件的记录。
第四节逻辑设计
一、E-R图向实际数据模型的转换
3、E-R模型向网状模型和层次模型的转换(略)。
4、E-R模型转向关系模型
(1)、写出各实体内部属性间的函数依赖。
(2)、将基本E-R图中的实体换成主关键字。
(3)、将
(1)、
(2)得到的函数依赖按相同左部分组合,得到一组关系,形成一个关系数据库模式。
二、关系理论的应用
关系数据库理论是数据库逻辑设计的指南和工具。
其具体应用为:
4、在数据分析时用数据依赖的概念分析和表示各数据项之间的关系。
‘
5、在设计阶段,用于消除冗余的联系。
6、在E-R图向各数据模型转换时,用模式分解的概念和算法指导设计。
下面讨论的三方面的应用:
不管DBMS是什么模型,均线转换成关系模型,在转换称向应的DBMS所支持的数据模型。
(1)、确定函数依赖。
将实体之间的联系用函数依赖表达式表示,并用实体的主关键字代替相应的实体,这样就得到一组数据依赖记为F,由设全部属性集为U。
(2)、用关系框架来表示每一个实体集及其联系,从而得到一组关系模式。
(3)、按关系理论逐一分析这组关系模式中的每一个,检查是否存在非主属性对于某一候选关键字的部分函数依赖、传递依赖等。
确定它们分别属于第几范式。
(4)、分解关系模式。
根据规范分解的理论和算法,将其分解成合适的模式。
到的分解到几范式,则要看实际需要,权衡分解带来的好处和弊病。
其好处是消除了更新异常,弊病是在需涉及多个关系的查询时要进行联接运算,而联接也将大大降低效率。
一般情况下第三范式已足以满足要求了。
第六节物理设计
数据库的物理设计:
对于一个给定的逻辑数据模型,选取一个最适合应用环境的物理结构的过程。
所谓的物理设计主要指数据库在物理设备上的存储结构和存取方法。
一、物理设计可分两步:
第一步确定数据库的物理结构;第二步评价物理结构的性能。
评价的重点是时间和空间的效率,若满足则继续往下进行,否则就重新修改设计。
二、一般在物理设计前应了解以下几个问题:
4、了解并熟悉DBMS的功能、DBMS提供的物理环境和工具,特别是存储结构和存取方法。
设
计人员应熟悉DBMS提供的每一种存储结构的使用方式、特点及优缺点。
5、了解应用环境,连接各用户的数据视图,使用频率,使用要求。
6、了解外存设备的特性,如分块的原则,块因子大小的规定,设备的I/O特性等。
三、物理设计通常包括下列主要内容:
4、选择文件组织策略确定文件组织的主要考虑是三方面:
存取时间、空间利用、维护费用。
5、选择存取路径以下几个问题要弄清楚:
(1)、文件间的联系在层次和网状模型中,文件间的联系杜是通过指针链来实现的。
这些指针链占据的空间相当可观,多地达到50%。
在关系模型中,从理论上讲各个关系间没有指针但实际中为了提高效率,仍然使用了少量的指针。
设计者为了提高效率,可以再定义模式时指明。
(2)、存取算法对于层次和网状模型,所谓存取路径的选择完全由用户来做,用户的担子较重。
设计者在定义模式时,就应该考虑到将来使用的实际情况。
物理结构上应作这样的安排,才能使得最经常的查找效率高、成本低。
而查找时用户必须指出查找的路径。
在关系模型的环境下,存取路径不需要用户去选择,一切由系统自动进行。
系统至多提供创建索引、创建文件间的链关系等极有限的物理手段。
所以物理设计对于设计者没有很多工作要做。
(3)、多关键字的查询
与上一问题相仿。
(4)、确定数据的存放位置把经常存取和不常存取的数据分开,把要求很快查询和不要求很快查询的数据分开。
对于经常存取、时间要求高的数据通常放在高速存储器上,且放在靠近中间磁道的位置。
同一文件也可根据对各数据项不同的使用要求划分为两个或多个物理记录,并把它们存放在不同的地方以提高存取效率。
(5)、确定物理参数
DBMS提供一些存储分配的参数,供设计者进行物理设计优化。
例如溢出空间的大小和分布参数,块长,块因子大小,装载因子,缓冲区大小和个数。
6、选择索引索引是提高数据库检索速度的一个基本手段,它的代价是消耗一定的外存空间。
所以在空间允许的情况系阿,不妨多建些索引。
在哪些属性上建索引,才能使检索的成本最低,而效率最高。
这个问题在实际情况下比较复杂。
最主要的几个因素:
4、各个属性在查询的限定条件中出现的概率
5、各个属性值域中的元素个数
6、修改、插入、删除的频率显然,概率对阿的属性应首先检索,如果各属性的被限定的概率相同,则应选择属性值集中元素个数最多的首先检索。
4、记录聚集记录聚集指根据不同的使用要求将属性记录和文件在物理存储时集中放置,或放在同一块,或在同一个磁道,或在同一个柱面上。
聚集有三种情况:
(1)、分段。
即将文件垂直分解,其按属性分组,将经常使用的属性存放在一起,而很少存取的属性存放在另一处。
一个文件中同类属性聚集存放,即同一属性值的记录放在一起
(2)、分区。
即将文件按水平方向分解,把长使用的记录,或要一次顺序存取的记录放在一起,把不经常使用的记录放在另一处。
同一文件的记录分组存放。
(3)、聚集。
及几种文件中的记录放在一起。
不同的文件的记录聚集存放。
数据库中的文件是有联系的,有时可以通过一个文件的记录找到另一个文件的记录。
第七节应用设计应用设计可分以下几步:
1、功能需求分析2、功能设计3、事务设计4、程序说明5、应用程序设计
6、程序调试7、程序运行
一、功能需求分析在需求分析时,我们实际进行了两项工作:
一项是“数据流”的调查分析,再一项是“事务处理”过程的调查分析。
数据流的分析为数据库的信息结构设计提供了原始的可靠的依据,而事务处理的调查则是行为设计的基础。
对于行为特性要进行下述分析:
(1)、标识所有的查询、报表、事务及动态特性,指出要对数据库进行的各种处理。
(2)、指出对每个实体所进行的操作(查找、插入、删除、修改)。
(3)、给出每个操作的语义,包括结构约束和操作约束。
即执行操作的前提、操作的内容、操作成功后的状态
(4)、给出每个操作(针对某个对象)的频率。
(5)、给出每个操作(针对某个应用)的响应时间。
(6)、给出该系统的总目标。
二、功能设计系统目标的实现是通过系统的各功能模块的作用来实现的。
把功能模块一层一层分解,直到每一个子功能模块只执行一个具体任务。
子功能模块是独立的,具有明
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计 学习 笔记