DBAS生命周期:规划与分析、需求分析、系统设计、系统实现与部署、运行维护
可行性分析:
(1)经济可行性
(2)技术可行性
(3)操作可行性
(4)开发方案选择
第一章 需求分析
1.需求分析
1.1数据需求分析:从对数据进行组织与存储的角度,从用户视图出发,分析与辨识应用领域所管理的各类数据项和数据结构,形成数据字典的主要内容。
数据字典包括:数据项、数据结构、数据流、数据存储和处理过程五个部分。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容、
1.2功能需求分析
1.2.1数据处理需求分析
也可表示为事务规范,包括事务名称,事务描述,事务所访问的数据项,事务用户。
1.2.2业务规则需求分析
1.3性能需求分析
性能指标:(1)数据操作响应时间
(2)系统吞吐量
(3)允许并发访问的最大用户数
(4)每TPS(Price per TPS)代价值
DBAS性能主要因素:
(1)系统硬件资源
(2)网络通信设备性能
(3)允许并发访问的最大用户数
(4)数据库的逻辑设计和物理设计质量
(5)DBMS的配置和性能
(6)数据库应用程序自身
1.4其他需求分析
(1)存储需求分析
(2)安全型需求分析
(3)备份和恢复需求分析
DBAS系统设计包括:概念设计、逻辑设计、系统总体设计
概念设计 数据库概念模型设计
系统总体设计
逻辑设计 数据库逻辑结构设计
应用程序概要设计
数据库事务概要设计
物理设计 数据库物理结构设计
数据库事务详细设计
应用程序详细设计
实现与部署
(1)建立数据库结构
(2)数据加载
(3)事务和应用程序的编码及测试
(4)系统集成、测试与试运行
(5)系统部署
管理与维护:日常维护、系统监控与分析、系统性能优化调整、系统进化(升级)
数据数据库运行维护与优化:包括数据库的转储和恢复,数据库的安全性和完整性控制,数据库性能的监控分析和改进,数据库的重组和重构。
日常维护: 备份与恢复,完整性维护,安全性维护,存储空间管理和并发控制。
根据监控分析实现的方法不同,监控分析机制分为两种,一种是由数据库系统建立的自动监控机制,另一种是由管理员手动实施的监控机制。
第二章 需求分析
数据流图 DFD 过程建模(功能建模),核心是数据流
数据流
处理
数据存储
外部项(数据源及终点)
IDEF0 箭头和活动 强调数据约束
需求分析阶段的主要任务:分析清楚当前的业务流程,包括系统的体系结构,各职能部门完成的主要任务,各职能部门之间的关系及其交流的信息。
需求获取方法:面谈、实地观察、问卷调查、查阅资料
需求分析过程:标识问题、建立需求模型、描述需求(需求概述、功能需求、信息需求、性能需求、环境要求、其他需求)、确认需求
第三章 数据库结构设计
数据库概念设计
数据库逻辑设计
数据库物理设计
概念设计是数据库设计的核心环节。通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
1、数据库概念设计的目标
定义和描述应用领域设计的数据范围
获取信息模型描述数据的属性特征
描述数据之间的关系
定义和描述数据的约束
说明数据的安全性要求
支持用户的各种数据处理需求
保证信息模型能转化成数据库的逻辑结构 (即数据库模式)。
2、概念设计的依据及过程
依据:数据库概念设计以需求分析的结果为依据,即需求说明书、DFD图以及在需求阶段收集到的应用领域中的各类报表等。
结果:概念设计的结果是概念模型(ER)与概念设计说明书。
过程:
(1)明确建模目标(模型覆盖范围)
(2)定义实体集(自底向上标识和定义实体集)
(3)定义联系(实体间关联关系)
(4)建立信息模型(构造ER模型)
(5)确定实体集属性(属性描述一个实体集的特征或性质)
(6)对信息模型进行集成与优化(检查和消除命名不一致、结构不一致等)
概念设计是DB设计的核心环节。概念数据模型是对现实世界的抽象和模拟。
属性被用来描述一个实体集的特性或性质,一个属性的值必须属于唯一的域,域相当于数据类型的子集,属性的取值必须为同一域。标识属性的值不能重复且不可以为空,实体集的标识属性能够唯一识别实体集中每一个实体。
3.E-R模型(Entity- Relationship Model),即实体联系模型,用E-R图来描述数据库的概念模型。观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的。
与E-R模型有关的概念
实体(Entity)或实例(Instance)客观存在并可相互区分的事物叫实体。如学生张三、工人李四、计算机系、数据库概论。
实体集(Entity Set)同型实体的集合称为实体集。如全体学生。
属性(Attribute)实体所具有的某一特性。一个实体可以由若干个属性来刻画。每个属性的取值范围称为域。例如,学生可由学号、姓名、年龄、系、年级等组成。
码(Key):实体集中唯一标识每一个实体的属性或属性组合。用来区别同一实体集中的不同实体的称作主码。一个实体集中任意两个实体在主码上的取值不能相同。如学号是学生实体的主码。
联系(Relationship) 描述实体之间的相互关系。如学生与老师间的授课关系,学生与学生间有班长关系。 联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都有一个成绩作为其属性。 同类联系的集合称为联系集。
4、IDEF1X建模方法IDEF1X与第2章中介绍的IDEF0是一个系列的建模工具。IDEF0是功能建模方法。IDEF1X是数据建模方法。
IDEF1X: 独立实体集: 矩形框 从属实体集:圆角矩形框
联系:标定型联系、非标定型联系、分类联系、非确定联系。
逻辑设计任务:把数据库概念设计的结果(ER模型),转换为具体的数据库管理系统支持的数据模型,包括定义和描述数据库的全局逻辑结构,数据之间的关系,数据的完整性及安全性要求等。
关系模型
有三种主要的数据模型:层次模型、网状模型、关系模型。其中关系模型简单灵活,并有着坚实的理论基础,已成为当前最流行的数据模型。关系模型就是用二维表格结构来表示实体及实体之间联系的模型。
关系的描述称为关系模式(Relation Schema)。关系模式由五部分组成,即它是一个五元组:R(U, D, DOM, F)
R:关系名 U:组成该关系的属性名集合 D:属性组U中属性所来自的域 DOM:属性到域的映射 F:属性组U上的一组数据依赖 由于D、DOM对模式设计的关系不大,这里把关系模式简化为一个三元组: R,当且仅当U上的一个关系R满足F时,R称为关系模式R的一个关系。
1、关系数据库设计的核心:关系模式的设计。
2、关系模式的设计目标:按照一定的原则从数量众多而又相互关联的数据中,构造出一组既能较好地反映现实世界,而又有良好的操作性能的关系模式。
新奥尔良法,数据库设计步骤:需求分析—〉概念结构设计—〉逻辑结构设计—〉物理结构设计 E-R图 关系模式设计
数据依赖定义:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。
数据依赖
关系内部属性与属性之间的一种约束关系
是现实世界属性间相互联系的抽象
数据的内在性质
语义的体现
完整性约束的表现形式
限定属性的取值范围,如年龄<60
定义属性间值的相互关联(主要体现于值的相等与否),这就是数据依赖
数据依赖的类型函数依赖(Functional Dependency,FD)
普遍存在于生活中,这种依赖关系类似于数学中的函数y=f(x),自变量x确定之后,相应的函数值y也就唯一地确定了。
如关系:公民(身份证号,姓名,地址,工作单位)身份证号一确定,则其地址就唯一确定,因此地址函数依赖身份证号。而姓名一确定,不一定能确定地址。
多值依赖(Multivalued Dependency,MD)教师号可能多值依赖课程号,因为给定一个(课程号,参考书号)的组合,可能有对应多个教师号。这是因为多个老师可以使用相同或不同的参考书上同一门课。简单点讲,函数就是唯一确定的关系;多值依赖却不能唯一确定。
函数依赖的几种特例
1、平凡函数依赖与非平凡函数依赖 如果X→Y,且Y X,则X→Y 称为非平凡函数依赖。 若Y X ,则称X→Y为平凡函数依赖。 由于Y X 时,一定有X→Y,平凡函数依赖必然成立,没有意义,所以一般所说的函数依赖总是指非平凡函数依赖。
例:Sno代表学生的学号,Cno代表课程号,Grade代表成绩。
在关系 SC(Sno, Cno, Grade)中,非平凡函数依赖:(Sno, Cno)→Grade
平凡函数依赖:(Sno, Cno)→Sno (Sno, Cno)→Cno
2、完全函数依赖与部分函数依赖
如果X→Y ,且对于任何X’ X,都有X’ Y,则称y完全依赖于x,记作X Y。 如果X→Y,但Y不完全依赖于X,则称Y部分函数依赖于X,记作X Y。
3、传递函数依赖
如果X→Y , Y→Z,且Y X, Y X,则称Z传递函数依赖于X。记作X 传递→Z 。例:学生(学号,姓名,系名,系主任)显然系主任传递函数依赖于学号,因为学号→系名,系名→系主任
候选码、主码、外码
如果某属性组的值能唯一确定整个元组的值,则称该属性组为候选码或侯选关键字。例如:(学号,姓名,性别,年龄)中,学号是关键字,(学号,姓名)不是关键字,性别不是关键字。
候选码如果有多个,可以选其中的一个作为主码(Primary Key) 。
属性或属性组X不是关系模式R的码(既不是主码也不是候选码),但X是另一个关系模式的码,则称X是R的外部码,也称外码( Foreign Key ) 。例:在SC(Sno,Cno,Grade)中,Sno不是码,但Sno是关系模式S(Sno,Sdept,Sage)的码,则Sno是关系模式SC的外部码。
数据规范化
关系数据库的设计主要是关系模式设计。关系模式设计的好坏直接影响到数据库设计的成败。将关系模式规范化,是设计较好的关系模式的惟一途径。关系模式的规范化主要是由关系范式来完成的。
关系模式的规范化:把一个低一级的关系模式分解为高一级关系模式的过程。 关系数据库的规范化理论是数据库逻辑设计的工具。
目的:尽量消除插入、删除异常,修改复杂,数据冗余的问题。
范式 范式:关系模式满足的约束条件称为范式。根据满足规范化的程度不同,范式由低到高分为1NF,2NF,3NF,BCNF,4NF,5NF。
1NF:如果关系模式R,其所有属性都是不可再分的基本数据项,则称R属于第一范式,R∈1NF。
2NF:如关系模式R∈1NF,且每个非主属性完全函数依赖于主码,则称R属于第二范式,R∈2NF。 例:判断R (学号,姓名,年龄,课程名称,成绩,学分)是否属于第二范式。
2NF要求实体的属性完全依赖于主关键字。
3NF:如果关系模式R为2NF,并且R中的每个非主属性不传递依赖于R的主码,则称关系R是属于第3范式的,R∈3NF。例:判断R(学号,姓名, 年龄,所在学院,学院地点,学院电话)是否属于第三范式。
3NF要求实体的属性不能存在传递依赖。
4、数据库逻辑设计方法设计逻辑结构分三步:
将概念结构转化为一般的关系模型
将转化来的关系模型向特定DBMS支持下的数据模型转换
对数据模型进行优化
如果是关系型数据库管理系统,就应将概念模型转换为关系模型,即将E-R图中的实体和联系转换为关系模式。
数据库逻辑模型的产生
概念模型按一定规则可以转换成数据模型。
这种转换的原则如下:
①一个实体转换成一个关系模式
②一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
③一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
④一个m:n联系转换为一个 关系模式。
⑤三个或三个以上实体间的一个多元联系转换为一个关系模式。
⑥同一实体集的实体间的联系,也可以按1:1、1:n和m:n三种情况分别处理。
1、物理设计概述
物理数据库设计是设计数据库的存储结构和物理实现方法。
物理设计目的:将数据的逻辑描述转换为实现技术规范,其目标是设计数据存储方案,一边提供足够好的性能并确保数据库的数据完整性、安全性、可恢复性。通常,数据库物理设计并不包括文件和数据库的具体实现细节(例如如何创建文件、建立数据库以及如何加载数据)。物理设计时需要了解不同文件的组织方式、索引技术及其使用方法。
2、数据库的物理结构
物理设备上的存储结构与存取方法称为数据库的物理结构 。数据库中的数据以文件形式存储在外设存储介质上。一个文件在物理上可看作是存放记录的一系列磁盘块组成的,成为物理文件。
数据库的物理结构需要解决如下问题:文件组织、文件结构、文件存取、索引技术
3、索引 索引(Index)是数据库中独立的存储结构,其作用是提供一种无须扫描每个页面(存储表格数据的物理块)而快速访问数据页的方案。索引技(Indexing)是一种快速数据访问技术。
索引技术的关键:建立记录域取值(如图书术语)到记录的物理地址(如页码)间的映射关系,即索引。
索引能提高性能,但是有代价的。
设计和创建索引时,应确保对性能的提高程度大于在存储空间和处理资源方面的代价。
索引技术分类
有序索引 索引文件机制,利用索引文件(索引记录组成)实现记录域(查找码,排序域)取值到记录物理地址间的映射关系。
数据文件(主文件)和索引文件(索引记录或索引项的集合)是有序索引技术中的两个主体,数据文件常采用顺序文件结构。
散列索引 哈希(Hash)索引机制,利用散列函数实现记录域取值到记录物理地址间的直接映射关系。
几种主要的有序索引:(1)聚集索引(索引项与数据记录排列顺序一致,索引顺序文件)和非聚集索引。一个数据文件只可建立一个聚集索引,但可建立多个非聚集索引。(2)稠密索引(数据文件中每个查找码都对应索引记录)和稀疏索引(部分查找码的值对应索引记录)。
(3)主索引(主码属性集上建立的索引)与辅索引(非主属性上建立的索引)。
(4)唯一索引(索引列不包含重复值)
(5)单层索引(线性索引,每个索引项顺序排列直接指向数据文件中的数据记录)和多层索引(大数据量文件中的采用多层树型(B,B+树)索引快速定位)。
3、数据库的物理设计
目标:得到存储空间占用少,数据访问效率高和维护代价低的数据库物理模式。数据库底层物理存储与存取,与DBS所依赖的硬件环境、操作系统和DBMS密切相关。目前绝大部分DBS都是关系数据库系统。
数据库物理设计环节:
(1)数据库逻辑模式描述
(2) 文件组织与存取设计
基本原则:根据应用情况将易变部分与稳定部分、存取频率较高部分与存取频率较低部分分开存放,以提高系统性能。
分析理解数据库事务访问特性:使用事务-基本表交叉引用矩阵;估计各事务执行频率;汇总每张基本表各事务操作频率信息;根据结果设计文件结构。
可以考虑将表和索引分别放在不同的磁盘上。在查询时,由于两个磁盘驱动器分别在工作,因而可以保证物理读写速度比较快。
影响数据文件存储结构的因素:存取时间、存储空间利用率、维护代价,这三个方面常常是相互矛盾的。
解决办法:适当冗余,增加聚簇功能,必须进行权衡,选择一个折中方案。
DBMS常用存取方法
索引方法,目前主要是B+树索引方法 B+树支持等值查询和范围查询,散列索引适用于等值查询
聚簇(Cluster)方法:适用于范围查询。
HASH方法
(3)数据分布设计
不同类型数据的物理分布 将应用数据(基本表)、索引、日志、数据库备份数据等合理安排在不同介质中。
应用数据的划分与分布
根据数据的使用特征划分(频繁使用分区和非频繁使用分区) 根据时间、地点划分(时间或地点相同的属于同一分区) 分布式数据库系统(DDBS)中的数据划分(水平划分或垂直划分) 派生属性数据分布(增加派生列或不定义派生属性) 关系模式的去规范化(降低规范化提高查询效率)
水平划分 将基本表划分为多张具有相同属性、结构完全相同的子表,子表包含的元组是基本表中元组的子集。 例如,对商品按照商品的生产年份进行划分就属于水平划分。
垂直划分 将基本表划分为多张子表,每张子表包含的属性是原基本表的子集。 例如,商品表(商品编号、品名、单价、库存量、销售单价、备注) 可垂直划分为两张子表: 商品表(商品编号、品名、销售单价) 商品表(商品编号、单价、库存量、备注)
(4) 确定系统配置
DBMS产品一般都提供了一些存储分配参数
同时使用数据库的用户数
同时打开的数据库对象数
使用的缓冲区长度、个数
时间片大小
数据库的大小
装填因子
锁的数目……
(5) 物理模式评估
对数据库物理设计结果从存取时间、存储空间、维护代价等方面进行评估,重点是时间和空间效率。
文件结构:堆文件、顺序文件、聚集文件、索引文件、散列文件
概要设计:任务是建立软件系统的总体结构和模块间的关系
数据库应用系统设计的四个层次:
表示层、业务逻辑层、数据访问层、数据持久层
表示层概要设计的主要任务是进行人机界面设计,业务逻辑: D B A S的各项业务活动,将其表示为各种系统架构。数据访问层概要设计:针对DBAS的数据处理需求设计用于操作数据库的各类事物。数据持久层概要设计:进行应用系统的存储结构设计。
索引视图可以提高下列查询类型的性能:
1.处理大量行的连接与聚合。
2.许多查询经常执行链接和聚合操作
3.决策支持工作负荷
不会提高
1.具有大量写操作的OLTP系统。
2.具有大量更新的数据库
3.不涉及聚合或连接的查询
4.Group By 键具有高基数度的数据聚合,高基数度表示列包含许多不同的值,Group By后跟的列植包含许多不同的值,导致视图图和表的行数相等,那么该列使用索引试图并不能提高查询效率。
Select后面的查询属性 不需要建立索引。
系统规划和定义具体内容:任务陈述,确定任务目标,确定系统范围和边界,确定用户视图。
关系模型中,概念模式是关系模式的集合,外模式是关系子模式的集合,内模式是存储模式的集合。
关系模型的三类完整性规则
1.实体完整性规则
这条规则需求关系中元组在组成主键的属性上不能有空值。如有空值,那么主键值就起不了唯一标识元组的作用。
2.参照完整性规则
如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许有两种可能,或为空值,或等于R1关系中某个主键值。
使用时应注意:
a.外键和相对应的主键能不同名,只要定义在相同的值域上即可。
b.R1和R2也能是同一个关系模式,表示了属性之间的联系。
c. 外键值是否允许为空,应视具体问题而定。
3.用户定义的完整性规则
这是针对具体数据的约束条件,由应用环境而定。
外键和主键应用于关系级别约束,not null和Unique应用于列级约束,Check应用于元组约束。
关系代数的五个基本运算
关系代数是以关系为运算对象的一组高级运算的集合。关系定义为元数相同的元组的集合。集合中的元素为元组,关系代数中的操作可分为两类:
传统的集合操作:并、差、交、笛卡尔积。
扩充的关系操作:投影,选择,联接和自然联接,除。
第四章 数据库应用系统功能设计与实施
数据安全设计:安全性保护、完整性保护、并发控制、数据库的备份与恢复、数据加密传输。
模式调整属于数据库应用系统性能优化调整的范围。
并发控制 避免死锁:
一,按同一顺序访问资源,二,避免事物中的用户交互。三,采用小事务模式、尽量缩短事务的长度,减少占有锁的时间。四,尽量使用记录级别的锁,少使用表级别的锁。五,使用绑定连接,是同一应用程序,打开的两个或多个连接可以相互合作。
数据库的备份与恢复:双机热备、数据转储、数据加密存储。
D B A S的实施阶段,主要包括以下工作:创建数据库、装载数据、编写与调试应用程序、数据库试运行。
第五章 UML与数据库应用系统
UML 四层建模概念框架:
结构图,静态结构建模:类图、对象图、复合结构图、包图、组件图、部署图
行为图,动态行为建模:用例图、交互图(顺序图、通信图、交互概述图、时间图)、状态图、活动图。
活动图:描述系统、用例和程序模块钟逻辑流程的先后执行次序,并行次序。
用例模型:把满足用户需求的所有功能表示出来的工具,由用例、角色、系统三部分构成。
类图:描述系统的静态结构。 属性、行为
顺序图:主要用于描述系统内对象之间的消息发送和接收序列。从上到下浏览,若各分支条件不互斥,消息可并行发出,若互斥,每次只能发送一条消息。
创建和销毁对象的消息一般是同步消息。
通信图:包含一组对象,并在图中展示这些对象之间的联系以及对象间发送和接收的消息。
对象图:描述特定时间点中所有对象在系统中的结构,也可以把对象图当成系统在某一时间点的“快照”。
状态图:说明商品状态转换过程,可以有一个起始状态,多个结束状态。
交互概述图:利用活动图作为基础,只是其在控制流间连接的UM L元素并非活动, 20交互图(包括顺序图、通信图、时间图,交互概述图)。
三级模式+两层映像,保证了数据库系统中能够具有较高的逻辑独立性和物理独立性。
触发器使用场合为完成比Check约束更复杂的数据约束,为保证数据库性能而维护的非规范化数据,实现复杂的业务规则。Check只能实现同一个表的列之间的取值约束。
在静态转储过程中系统不能运行其他事务,因为会降低数据库的可用性,动态备份运行转储操作和用户事务并发执行,即允许在转储过程钟对数据库进行存取和修改,动态储存可能造成数据库的不一致性,使数据的有效性得不到保证。为了数据的有效性,需要引入日志文件,用它来记录转储期间各种事务对数据库的修改活动记录,然后使用动态转储的备份副本加上日志文件就可以将数据库恢复到某一时刻的正确状态。
事务的四个性质:原子性、一致性、隔离性、持久性。
两个事务并发执行时,隔离性保证其并行结果正确性。持久性:当事务提交后断电,则持续性保证其对数据库的改变时永久的,结果不受影响。原子性:事务中包括的诸多操作为了保证一致性要么都做,要么都不做。一致性:事务执行结果从一个一致性到另一个一致性的变化。
数据库备份分为两种:
1.完全备份,它不仅可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象,而且备份数据库文件和日志文件,但它需要花费更多时间和空间,一般推荐一周做一次。
2.差异备份:自上一次完全备份之后有变化的数据文件、日志文件以及数据库中其他被修改的内容等。存储和恢复速度快,推荐每天做一次差异备份。
备份有两种,转储有三种
文件备份:使用文件备份方式用户可以只还原损坏的文件,而不不用还原数据库的区域部分,从而加快了恢复速度。
事务日志备份:仅用于完整恢复模式和大容量日志恢复模式。并不备份数据库本身,只备份日志记录,而且只备份从上次备份之后到当前备份时间发生变化的日志内容。
分布式数据库采用数据分片对数据进行管理,分片有3个原则:1.完整性原则,即全局关系的所有数据项必须包含在某个片段中,否则将导致数据库不完整,造成某些片段数据丢失。
2.重构性原则:即所有片段必须能够还原全局关系。
3.不相交原则(对垂直分片的主键除外):对于一个全局关系,要保证数据不丢失,则必须要属于某个片段,即不允许不属于任何一个片段,也不允许一个全局关系的某些数据既属于该全局关系的某些片段,又属于该全局关系的另一个片段(垂直关系中的码属性除外)。
先分片再分配。分片是对关系的操作,描述每个数据片段以及全局关系到片段的映像。
分配是对分片结果的操作,是描述各片段到物理存放场地的映像。
分布式数据库的特征:本地自治,非集中式管理,高可用性。
联机事务处理OLTP也称面向交易的处理系统,其基本特征是顾客的原始数据可以立即传送到计算机中心进行处理,并在很短的时间内给出处理结果,可以及时的处理输入的数据,及时回答。因此系统要求必须具有很高的响应速度。
联机分析处理OLAP支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。典型的应用就是复杂的动态的报表系统。OLAP特点:实时性要求不高,数据量大,决策支持,查询动态,随时提出查询的要求。
OLTP安全性更高,实施更困难,OLTP一般由企业中下层使用,OLAP由企业中上层使用。
数据仓库的主要目的:根据决策需求对企业的数据采取适当的手段进行集成,形成一个综合的、面向分析的数据环境,用于支持企业的信息型、决策型的分析应用。
数据仓库的特性:面向主题性、集成性、不可更新性、时间特性(随时间变化)。
从数据层次角度看,典型的数据仓库的数据体系结构主要包括:操作型数据、操作型数据存储、数据仓库、数据集市,也可包括个体层数据。
功能结构:数据处理、数据管理、数据应用 三个层次。
元数据:描述数据的数据,它描述了数据的结构、内容、链和索引等项内容。
元数据一般分为技术型元数据和业务型元数据。
操作型数据存储(ODS):面向主题的、集成的、可变的、数据是当前或接近当前的。
数据仓库的简历一般采用CLDS(SDLC的逆序):实现数据仓库、集成数据、检验偏差、针对数据编程、设计DSS系统、分析结果、理解需求。
数据集成:将源自不同数据源的数据经过抽取、转换、清理、装载等操作载入数据仓库的过程。
ETL(Extract Transform Load)是实现数据集成的主要技术,即填充更新数据仓库的数据抽取、转换、装载的数据采集过程。
粒度:系统中存在不同综合级别的数据,一般将综合级别称为粒度。
元数据:仓库中的重要数据是关于数据的数据或者叫做描述数据的数据。元数据,一般分成技术型元数据和业务型元数据。
ODS操作型数据存储
第一类ODS数据更新频率是秒级 第二类ODS的数据更新频率是小时级
第三类,ODS的数据更新频率是天级
第四类ODS的数据不仅包含来自操作型环境的数据,也包含有数据仓库层和数据集市的应用反馈给ODS一些决策结果或一些报表信息。
数据仓库中数据的维护策略,分为三种:实时维护、延时维护和快照维护。
O L A P联机分析处理主要用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持。一般要求O L A P工具具有快速、可分析和多维的特点。 数据的多维分析,是指针对数据仓库中,以多维形式组织起来的数据,从多个角度、不同层次,采用各个各种数据分析技术,对数据进行剖析,多为分析的基本操作:钻取卷起:钻取是指对应于某以为逐步向更细节从方向观察数据,而卷起则相反,切片和切块:实现局部数据的显示,帮助用户从众多混杂的数据中进行选择。旋转:改变一个报告或页面显示的维方向。 O LA P的实现方式有三种:基于多为数据库的O L A P ( M O L A P),其余关系数据库的OLAP(ROLAP),混合混合型到O LA P ( H O LAP)。
数据挖掘:从大量的,不完全的,有噪声的,模糊的,随机的实际应用数据中提取隐含在其中的人们事先不知道的,但有潜在有用的信息和知识的过程。
第十三章
分布式数据库:物理上分散、逻辑上集中的数据库系统,系统中的数据分布在物理位置不同的计算。机上(通常称为场地、站点或节点),有通信网络将这些场地连接起来,每个场地具有独立处理的能力,也可以和其他场地协同工作。分布式数据库则是分布式数据库系统中个场地上数据库的逻辑集合。
分布分布式数据库的基本特征:本地自治、非集中式管理、高可用性。
先数据分片,再数据分配。分片是对关系的操作,而分配则是对分片结果的操作。
分片透明性:
分片透明性是最高级别的透明性,位于全局概念模型与分片模型之间。分片透明性是指数据分片使用或无需考虑的,完全透明的,在编写程序时,用户只需对全局关系进行操作。位置透明性设置数据分片的分配情况分配位置,对用户是透明的,用户编写程序时只需要考虑数据分片情况,不需要了解各分片在各个场地的分配情况。局部数据模型透明性使用或在编写用应用程序时,不但需要了解全局数据的情况,还要了解个片段的副本复制情况及个片段和他们副本的场地位置。
典型的分布式数据库管理系统,包括四个部分:全局数据库管理系统GDP M S、全局数据字典GDD、局部数据库管理系统L D B M S和通信管理C M。
在集中式数据库系统中,查询代价主要是CPU代价和I/O代价来衡量的,在分布式数据库系统中,由于数据分布在多个不同的场地上,使得查询处理中,还要考虑站点将传输数据的通信代价。导致数据传输量大的主要原因是数据间的连接操作合并操作,优化策略有:基于半连接和基于连接的优化策略。
分布式事务管理主要包括恢复控制和并发控制。恢复控制——基于两阶段的提交协议。并发控制——基于封锁协议。
并行数据库系统——通过并行实现各种数据操作,如数据载入、索引建立、数据查询等,可以提高系统的性能。
并行数据库系统的结构:
1 共享内存结构:所有的处理机通过互联网共用一个公共的主存储器。实现简单,但由于共享内存,如果处理器数量过多,容易造成访问内存冲突。
2 共享磁盘结构:所有的处理机拥有独立的主权,请通过互联网共享磁盘。访问内存不会再发生冲突,但这种结构通过互联网实现各个处理器之间的数信息和数据交换,会产生一定的通信代价。
3 无共享结构、:每个处理机拥有独立的主存储器和磁盘,不共享任何资源。他被认为是支持并行数据库系统的最好并行结构,通过最小化共享资源来降低资源竞争的概率,高可扩展性,处理器数量众多,主要缺点是通信代价和非本地磁盘访问的代价高。
4 层次结构:这种结构是前三种体系结构的结合,可以分为两层,顶层是由若干节点组成的无共享结构,底层是共享内存或共享磁盘结构。
一维数据划分
1 轮转法:该策略最适合与扫描整个关系的应用在扫描时可以并行的从n个磁盘读取数据,负载均衡充分发挥了并行性。
2 散列划分:能够比伦顺发更是更是用于点查询,缺点在于如果散列函数选的不合理,可能会引起数据划分的不均衡。
3 范围划分:明显利于范围查询的点查询,但可能会引起数据分布不均云,导致并行处理能力下降。
检查点记录的内容包括:建立检查点时刻所有正在执行的事务清单;这些事务最近一个日志记录的地址。
系统恢复时,如果事务在故障发生时未完成,应当UNDO,如果事务在检查点之后才提交,他们对数据库所做的修改在故障发生时还可能在缓冲区,尚未写入数据库,所以要REDO。如果事务在检查点之前已经提交,不必执行REDO
标量函数的返回值可以是除了timestamp类型以外的所有数据类型。
视图返回的结果集的格式与基本表相同,所以可以在视图上再定义视图。
Grant Select On Address To U1
Deny Select On Address to U1
Revoke Select on Address From U1
Grant Create table, create view To U1
Raid5具有和Raid0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。提高数据内存可以一定程度上减少系统磁盘I/O.
NOINIT,追加,保留原有的备份集。
INT,覆盖媒体集上所有内容,保留媒体标头。
数据挖掘:从大量数据中提取或挖掘知识。
决策支持系统一般是指企业中以数据为基础对重要事物或事务实施辅助决策的信息系统。
机器学习是指机器采用一些方法或模型根据数据去习得知识的过程。
用例模型通过对系统参与者及其重要行为的描述,表达系统的功能需求,即用户的期望。
游标:声明游标: Declare cursorname CURSOR
For select-statement
打开游标:Open cursor-name
提取数据:Fetch [[Next/Prior/First/Last/Absolute n/Relative n]] From cursor-name
建立一个聚集索引:Create Clustered Index On t1(c1)
数据库性能优化中,存储优化包括建立物化视图和聚集。数据库重组是指D B A按照系统设计要求对数据库存储空间进行全面调整,如调整磁盘分区方法和存储空间,重新安排数据的存储,整理回收碎块等,以提高数据库的性能。
分离数据库是指将数据库从S Q L空格S E R V E R实例中删除,但不删除数据库的数据文件和日志文件。分离数据库实际就是让数据库的文件不受数据库管理系统的管理,使用户可以将数据库的数据文件和日志文件复制到另一台计算机上或者是同一台计算机的其他地方。
创建分区表的步骤是创建分区函数、创建分区方案、使用分区方案创建表;创建分区函数的目的是告诉数据库管理系统以什么方式对表进行分区;创建分区方案的作用是将分区函数生成的分区映射到文件组中;不同的分区可以映射到相同的数据库文件组中。
互联互联网上的应用服务一支被称作软件即服务,它是一种软件分配模式。平台即服务是指通过网络提供操作系统和相关服务,而无需下载或安装。基础设施即服务,是指将用于支持运作的设备对外提供服务,这些设备包括存储、硬件、服务器和网络组件。
分布分布式数据库的数据分配有:集中式、分割式、全复制式、混合式。
数据数据库的恢复顺序是库。数据库的恢复顺序是:一还原最新完整数据库备份而不恢复数据库。二如果存在差异备份,则还原最新的差异备份而不恢复数据库。三从最后一次还原备份后,创建的第一个事务日志开始,使用你的NoreCovery选项依次还原日志。4.还原数据库,此步骤也可以与还原上一次日志备份结合使用。
针对一个表的同一个操作,只能定义一个instead of触发器,多个after型触发器。在视图上不能定义after型触发器。
With Ties
Select... Into...
From...
在数据库设计阶段,主要强调的是高效率利用存储空间,减少数据的冗余,减少数据都不一致,这个过程是规范化的过程。规范化的关系解决了数据维护的异常,并使用于最小化,然而,可能会出现数据处理性能下降的问题。在大多数情况下,数据库系统需要考虑的第二个目标是高效率的数据处理,反反规范化处理,,如增加派生冗余列,重组新表、分割表和新增汇总表可以有效地提高查询效率。
SQL 中,系统管理员的角色是sysadmin
数据库角色
角色是一组具有相同权限的用户集合,用户定义的角色属于数据库一级的角色,可以是数据库的用户。一个数据库中可以定义多个角色,一个用户定义的角色可以包含多个成员,用户定义的角色可以是另一个用户定义的角色的成员,可以为用户定义的角色授权。
SQL Server 2008支持数据库,数据文件两个级别的数据恢复。在数据库恢复过程中可以将数据库文件恢复到不同位置。
Restore database语句中使用with recovery选项后,数据库将不能再使用后续备份进行恢复。
第十章 数据库运行维护与优化
数据数据库的维护工作包括:数据库的转储和恢复;数据库的安全性和完整性控制;数据库性能的监控分析和改进;数据库的重组和重构。
数据库监控分析的主要内容:一种分类:数据库架构体系监控(空间基本信息、空间使用率与剩余空间大小、空间是否具有自我扩展能力,那些表的扩展将引起空间的扩展、段的占用完间与区间数),数据库性能的监控(数据缓冲区命中率、库缓冲、用户锁、锁与等待、回滚段、临时段的使用情况,索引的使用情况,等待事件和共享池等)。另一种分类:自动监控机制、手动监控机制。
数据数据库重构一般在现有数据库结构不能满足新的业务需求时进行,会需要调整数据库的模式和内模式,只能对结构进行少部分修改。数据库重组进行碎片整理和回收可以提高数据库执行效率。
数据库性能的优化:数据库运行环境、参数调整、模式调整、存储优化、查询优化几方面考虑。
环境与参数:外部环境(CPU,网络)、调整内存分配、调整磁盘I/O、调整竞争。
模式调整与优化:高效利用存储空间,减少数据冗余,减少数据不一致,规范化的过程。第二个目标是高效率进行数据处理,反规范化,方法有:增加派生冗余列、增加冗余列、重新组表、分割表(水平分割:表有好的独立性,局部使用,全局查询一般不用。垂直分割:表中某些列常用,另一些不常用)和新增汇总表等方法。
存储优化:物化视图(适用于多个数据量较大的表进行连接操作及分布式数据库中需要进行分布在多站点的表进行连接操作。)、聚集(将经常一起使用的具有同一公共列值的多个表中数据行存储在一起,由公共列构成聚集码,最小化必须执行的I/O次数,改善系统性能。)
查询优化:
1.合理使用索引
2.避免或简化排序
3.消除对大型表数据的顺序存取
4.避免复杂的正则表达式
5.使用临时表加速查询
6.用排序来取代非顺序磁盘存取
7.不充分的连接条件
8.存储过程
9.不要随意使用游标
10.事务处理
第十一章 故障管理
事务内部故障、系统故障、介质故障、计算机病毒故障
数据转储:
完全转储:对数据库中所有数据进行转储,占用较多时间空间,但在系统失败时恢复时间较短。
增量转储:只复制上次转储后发生变化的文件或数据块。所需时间和空间较短,恢复时间比仅适用完全转储更长。
差量转储:是对最近一次的数据库完全转储以来发生的数据变化进行转储。速度快,占用较小空间,差量转储和增量转储相比,速度慢,占用空间多,但恢复速度快。
日志文件
1.事务故障恢复和系统故障恢复必须使用日志文件。
UNDO REDO
系统故障恢复 有Begin Transaction,而没有结束记录,即没有Commit 或Rollback,则撤销。
事务已经完成了事务的所有操作并提交,但其对数据库的修改还保留在缓冲区,没有写到数据库中,既有Begin Transaction,又有Commit记录,应该重做。
2.动态转储方式中必须建立日志文件。
3.在静态转储方式中也可以使用日志文件。
日志有两种格式:以记录为单位、以数据块为单位。
登记日志文件的原则:等级的次序严格按并行事务执行的时间次序。
必须先写日志文件,后写数据库。
硬件容错方案
磁盘保护技术:
RAID0:采用数据分块、并行传送方式、提高读写速度,出现故障将无法恢复。
RAID1:硬盘分成两组,互为镜像。分块后并行传输,提高了读速度,加强了系统的可靠性,但磁盘的利用率低,冗余度高,写速度未提高。
RAID5:与RAID0相近的数据读速度,多了奇偶校验信息,写入速度比单个磁盘稍慢,磁盘利用率比RAID1高,存储成本低。
1 简单恢复模式:可最大限度地减少是五日至的管理开销,因为这种恢复模式,不备份事务日志。但如果数据库损坏,则简单恢复模式,将面临极大的数据丢失风险。在这种恢复模式下,数据只能恢复到最新备份状态。只用于测试与开发数据库,不适合生产系统。
2完整规范模式:完整的记录所有的事物,并将事务日志记录,保留到对其备份完毕为止。
3 大容量日志恢复模式:只对大容量操作进行最小记录,事务日志不会被大容量加载操作所填充。简略记录大多数大容量操作,完整记录,其他事务,该模式提高提高了大容量操作的性能,常用做完整恢复模式的补充。