数据库系统工程师复习资料二.docx
- 文档编号:10202538
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:14
- 大小:492.47KB
数据库系统工程师复习资料二.docx
《数据库系统工程师复习资料二.docx》由会员分享,可在线阅读,更多相关《数据库系统工程师复习资料二.docx(14页珍藏版)》请在冰豆网上搜索。
数据库系统工程师复习资料二
第一章数据库技术基础
1.数据库(DB)是指长期存储在计算机内的,有组织的,可共享的数据的集合。
2.数据库系统(DBS)由数据库、硬件、软件和人员组成。
3.数据库技术的发展:
a)人工管理阶段
b)文件管理阶段
c)数据库系统阶段(有较高的数据独立性)
4.数据模型的三要素:
a)数据结构
b)数据操作
c)数据的约束条件
5.数据模型分为:
概念数据模型(E-R模型)和基本数据模型(层次、网状、关系模型)和目前提出的对象模型。
6.实体属性
a)简单属性(不可再分)和复合属性(可分如地址(省份、市…))
b)单值属性(只有一个值)和多值属性(如电话号码可有多个)
c)NULL属性(没有或是未知)
d)派生属性(从其他属性可推出来)
7.E-R法的构件:
8.扩充的E-R模型
a)
弱实体(要依赖另一个实体而存在)
b)特殊化————P375
9.数据库系统的体系结构
a)三级模式结构(三层两映像)
i.数据物理独立性
ii.数据逻辑独立性
b)集中式数据库系统:
两段提交协议:
封锁阶段(扩展阶段)和解锁阶段(收缩阶段)
c)客户/服务器数据库体系结构
d)并行数据库系统(多个CPU)————P387
i.共享内存式多处理器
ii.无共享式并行体系结构
e)分布式数据库系统:
两段提交协议:
表决阶段和执行阶段
f)Web数据库
10.全码:
指关系模型中所有的属性组是这个关系模式的候选键。
11.数据库的控制功能
a)事物管理(不可分割的逻辑工作单位)
i.原子性:
要么都做要么都不做
ii.一致性:
只包含成功提交的是事物
iii.隔离性:
多个事物并发执行时是相互隔离的
iv.持久性:
一旦事物成功提交则永久的反应到数据库中
b)故障恢复
i.事物内部故障
ii.系统故障
iii.介质故障
iv.计算机病毒
v.恢复方法:
静态转存和动态转存、海量转存和增量转存、日志文件
vi.事物恢复步骤:
反向扫描文件日志、对事物的更新操作执行逆操作、继续反向扫描日志文件,直到事物的开始标志
vii.数据库镜像
c)并发控制
i.并发操作带来的问题:
带来数据的不一致性(丢失更新、不可重复读和读脏数据);破坏了事物的隔离性。
ii.并发控制的技术:
封锁,排他锁(X锁)和共享锁(S锁)
iii.三级封锁协议:
一级:
解决丢失更新;二级:
解决读脏数据;三级:
解决不可重复读
iv.并发调度的可串行性:
可串行化是并发事物正确性准则,当且仅当可串行化时才是正确的并发调度
v.封锁的粒度:
封锁的范围
vi.事物是不能嵌套的,因为违背了事物的原子性;当且仅当当前没有事物执行时才能开始执行事物。
d)安全性和授权
i.安全性违例(XX读取、修改、破坏数据)
ii.授权
1)read:
允许读取,不许修改
2)insert:
允许插入,不许修改
3)update:
允许修改,不许删除
4)delete:
允许删除
5)index:
允许创建或删除索引
6)resource:
允许创建新关系
7)alteration:
允许添加或删除关系中的属性
8)drop:
允许删除关系
12.事物的执行状态:
a)活动状态:
事物的初始状态。
b)部分提交状态:
全部执行完。
c)失败状态:
由于硬件或是逻辑上的错误,使事物不能在继续进行,处于失败状态的事物必须回滚。
然后事物就进入了中止态。
d)中止状态:
事物回滚并数据库恢复到开始执行前的状态。
e)提交状态:
当事物成功完成后,事物处于提交状态,只有事物处于提交状态,才能说明事物已经提交。
13.数据仓库
a)DW的基本特性:
面向主题的、数据是集成的、数据是先对稳定的、数据是反映历史变化的
b)数据模式——事实表,多维数据模式包括(星型模式、雪花模式、事实星状模式)
c)数据仓库体系结构
i.通常采用:
数据仓库服务器、OLAP(联机分析处理)、前端服务器
ii.从结构的角度:
企业仓库、数据集市、虚拟仓库
14.数据挖掘技术:
海量数据搜集、强大的多处理计算机和数据挖掘算法。
15.数据挖掘中常用的技术:
人工神经网络、决策树、遗传算法、近邻算法和规则推倒。
16.数据挖掘的应用过程
a)确定挖掘对象
b)准备数据
c)建立模型
d)数据挖掘
e)结果分析
f)只是应用
17.数据转储:
DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。
a)动态转储:
指转储期间允许对数据库进行存取或修改。
即转储和用户事务可以并发执行。
b)静态转储:
在系统中无运行事务时进行的转储操作。
c)增量转储:
指每次只转储上一次转储后更新过的数据。
d)海量转储:
指每次转储全部数据库。
e)从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来会更方便些。
但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。
18.OLAP(联机分析处理):
通常用于对数据仓库进行数据挖掘;OLTP(联机事物处理)是面向事物程序的执行,通常对应密集型更新事物的程序,应用于对数据库的操作。
OLAP没有严格的时间要求,OLTP是面向业务的,对时效要求比较高。
OLAP用于数据挖掘以提供决策支持,OLRP用于具体的业务。
第二章关系数据库
1.关系模型是关系数据库的基础,由关系数据结构、关系操作集合和关系完整性规则组成。
2.关系的度是指关系中属性的个数,关系的势指关系中元组的个数。
3.在关系模型中所有的域都应该是原子数据(1NF)。
4.关系的三种类型:
基本表、查询表、视图表
5.完整性约束:
实体完整性、参照完整性、用户定义完整性。
6.关系运算:
a)关系代数语言
b)关系演算语言
c)具有以上两种双重特点的语言(SQL)
7.关系代数中的查询优化准则:
a)尽可能早的执行选择运算
b)尽可能早的执行投影运算
c)避免直接做笛卡尔乘积,把笛卡尔乘积之前的操作和之后的一连串选择和投影合并起来一起做。
8.关系模式的设计问题:
a)数据冗余:
同一数据重复出现多次。
b)操作异常(更新异常):
修改异常、插入异常和删除异常。
c)规范化的一个原则:
“关系模式有冗余问题,就分解它”。
9.关系模式的非形式化设计准则:
a)关系模式的设计尽可能只包含直接联系的属性,不要包含有间接联系的属性。
b)尽可能的不出现插入、删除和操作异常。
c)尽可能的避免放置经常为空值的属性。
d)尽可能的使等值连接在主键和外键上进行,并保证不会产生额外的元组。
10.函数依赖:
a)
b)若存在FDW→A,如果W的任一个子集X没有X→A,则称W→A是完全函数依赖。
否则叫局部函数依赖。
c)传递函数依赖:
如果X→Y,Y→A,且Y不→X,A不∈Y,则X→A是传递函数依赖。
d)FD和关键码:
设模式R的属性集U,X是U的一个子集,如果X→U在R上成立,那么X是R的一个超键。
如果X→U在R上成立,但是对于任一真子集X1都有X1→U不成立(说明:
不含多余属性),那么X是R的一个候选键。
e)如果A是关系模式R中的候选键中的属性,那么称A是R的主属性,否则是非主属性。
f)最小函数依赖:
(不包含多余的函数依赖)满足一下三个条件(最小函数依赖集G):
i.G中的每个FD的右边都是单属性。
ii.G中没有冗余的FD。
iii.G中的左边没有冗余的属性。
11.关系模式的范式—规范化
a)1NF:
如果关系R的每个关系r的属性值都是不可分的原子值。
(规范化关系)
i.1NF存在的问题:
冗余度大和更新异常。
b)2NF:
如果每个非主属性完全函数依赖于候选键。
c)3NF扶沟每个非主属性都不传递依赖R的候选键。
d)BCNF:
如果每个属性都不传递函数依赖与R的候选键。
12.关系模式R分解成2NF模式集:
如果关系模式R中,存在FDW→Z,X→Z,X⊆W,其中w是主键,Z是非主属性,则有W→Z是局部函数依赖。
分解成R1(XZ),主键是X;R2(Y),Y=U-Z,主键是W,外键是X。
13.将模式R分解成3NF:
如果关系模式R中,存在FDW→Z,X→Z,X不是候选键,其中w是主键,Z是非主属性,Z不⊆X,则有W→Z是传递依赖。
分解正R1(XZ),主键是X,R2(Y),Y=U-Z,主键是W,外键是X。
14.模式的分解有三种等价情况:
a)分解具有无损连接性
b)分解要保持函数依赖
c)分解既要无损连接又要保持函数依赖
15.无损分解的充要条件是:
如果p(R1,R2)是R的一个分解则要满足:
(R1∩R2)→(R1-R2)或是(R1∩R2)→(R2-R1)
16.保持函数依赖:
设p(R1,R2...Rk)是R的一个分解,F是R上FD,如果有
则保持函数依赖。
17.无损连接的测试:
设关系模式R=A1,…,An,R上成立的FD集F,R的一个分解p={R1,…,Rk}。
无损连接分解的判断步骤如下:
(1)构造一张k行n列的表格,每列对应一个属性Aj(1≤j≤n),每行对应一个模式Ri(1≤i≤k)。
如果Aj在Ri中,那么在表格的第i行第j列处填上符号aj,否则填上符号bij。
(2)把表格看成模式R的一个关系,反复检查F中每个FD在表格中是否成立,若不成立,则修改表格中的元素。
修改方法如下:
对于F中一个FD:
X→Y,如果表格中有两行在X分量上相等,在Y分量上不相等,那么把这两行在Y分量上改成相等。
如果Y的分量中有一个是aj,那么另一个也改成aj;如果没有aj,那么用其中的一个bij替换另一个(尽量把ij改成较小的数,亦即取i值较小的那个)。
(3)若在修改的过程中,发现表格中有一行全是a,即a1,a2,…,an,那么可立即断定p相对于F是无损连接分解,此时不必再继续修改。
若经过多次修改直到表格不能修改之后,发现表格中不存在有一行全是a的情况,那么分解就是有损的。
特别要注意,这里有个循环反复修改的过程,因为一次修改可能导致表格能继续修改。
第三章SQL语言
1.建立基本表:
a)CREATETABLEC
(C#CHAR(4)
NOTNULLUNIQUE/
NOTNULLPRIMARY/
PRIMARYKEY,
CNAMECHAR(10)NOTNULL)
b)CRATETABLEC
(C#CHAR(4)
CNAMECHAR(10)NOTNULL,
PRIMARYKEY(C#))注:
此时可省略
c)定义外键时,可以合起来写:
T#CHAR(4)FOREIGN(T#)REFERENCEST(T#),也可以分两行写T#CHAR(4),
FOREIGN(T#)REFERENCEST(T#),
2.基本表的修改:
a)增加新的列:
ALTERTABLE<基本表名>ADD<列名><类型>{可设置缺省值0,——DEFAULT=0}
b)删除列:
ALTERTABLE<基本表名>DROPCOLUMN<列名>[完整性约束条件CASCADE|RESTRICT]
c)修改数据类型:
ALTERTABLE<基本表名>ALTERCOLUMN<列名><类型>
ALTERTABLE<基本表明>MODIFY<列名><类型>
3.基本表的删除:
DROPTABLE<基本表名>[CASCADE|RESTRICT]
4.创建索引:
a)索引的作用:
通过创建唯一的索引,可以保证数据的唯一性;提高数据的检索速度;可以加速表与表之间的连接,对于实现数据的参照完整性有很重要的意义;使用ORDERBY和GROUPBY检索时可减少查询中组和排序的时间。
b)聚簇索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即聚簇索引与数据是混为一体的,它的也节点中存放的是实际的数据。
c)非聚簇索引是具有完全独立于数据行的结构,不用将物理数据页中的数据按列排序,节点中存放的是索引的关键字值和行定位置。
d)创建索引:
CREATE[UNIQUE][CLUSTERE]INDEX<索引名>ON<基本表名>(<列名[DESC][ASC]>,<列名[DESC][ASC]>,….)
e)删除索引:
DROPINDEX<索引名>,<索引名>,…
5.视图的操作:
a)视图是建立在查询的基础上的,是一张虚拟表,视图的数据必不是按视图存储结构保存在数据库中,而是存储在视图所引用的表中。
b)视图的优缺点:
视图更新数据实时、安全、存储空间只占用代码的空间,但是执行过程有些慢。
c)视图的创建:
CREATEVIEW<视图名>(<列名序列>)AS
注:
子查询(SELECT语句)中通常不允许出现ORDERBY子句和DISTINCT。
WITHCHECKOPTION允许用户更新视图。
其中列名要么全部省略要么全部指定。
d)视图删除:
DROPVIEW<视图名>
e)视图更新
6.数据定义语言(DDL):
CREATE、ALTRE、DROP;数据操作语言(DML):
SELECT、INSERT、DELETE、UPDATE;数据控制语言(DCL):
约束权限
7.查询语句:
8.字符使用:
snamelike’王%’匹配‘王’后面任意个字符;snamelike‘王_’匹配‘王’后面一个字符;如果模式中包含特殊字符就要用到转意符,用关键字escape来定义,如:
9.SQL中完整性约束:
a)越约束:
定义一个新域COLOR
CERATEDOMAINCOLORCHAR(6)DEFAULT’?
?
?
’—将颜色默认设置为?
?
?
CONSTRANINTCOLORS—表示为这个域约束起名为colors
CHECK(VALUEIN
(’Red’,’Yellow’.’Blue’.’Green’,?
?
?
’))
b)基本表的约束:
主键、外键、检查(CHECK)
c)断言(ASSERTIONS):
CERATEASSERTION<断言名>CHEC0(<条件>)
DROPASSERTION<断言名>
10.SQL中的安全性机制:
视图、权限、角色、审计
11.权限
a)用户权限(6种):
select、insert、delete、update、references、usage其中references表示允许用户定义新的关系,引用其它关系的主键做为外键;usage允许用户使用已定义的域。
b)授权语句:
GRANT<权限表>ON<数据库元素>TO<用户名表>[WITHGEANTOPTION]WITHGEANTOPTION表示获得的权限还能获得传递权限,装权限授给别的用户。
如:
其中ALLPRIVILEGES表示用全部权限(以上6种)。
c)回收语句:
REVOKE<权限表>ON<数据库元素>FROM<用户名表>[RESTRICT|CASCADE]CASCADE表示连锁回收,RESTRICT不存在连锁回收时才能进行回收。
如:
PUBLIC表示多有当前的或是将来的可能出现的所有用户。
12.触发器的使用;触发器是一个由系统自动执行的对数据库进行修改的语句。
触发器由事件、条件和动作三个部分组成。
a)创建触发器:
CERATETRIGGER<名>
b)删除触发器:
DROPTRIGGER<名>
13.嵌入式SQL
a)区分SQL语句和主语言语句(格式):
EXECSQL
b)主语言工作单元与数据库工作单元的通信:
i.SQL通信区(SQLCA):
向主语言传递SQL语句执行的状态信息,是主语言能够根据次信息控制程序流程。
ii.共享变量(主变量):
主语言通过主变量向sql语句提供参数,由主语言定义,sql中DECLARE语句说明。
c)游标(CURSOR):
主语言是面向记录的而sql语言是面向集合的,通过游标可获取多条记录或获取指定的记录。
i.定义游标:
ii.打开游标:
iii.推进游标:
游标推进一行并把当前值送到主变量中,
iv.关闭游标:
d)动态SQL语句:
14.存储过程:
由SQL语句和流程控制语句编写的模块,经过编译和优化后存储在数据库服务器端的数据库中。
具有一下优点:
a)提高运行速度。
b)增强了SQL的功能和灵活性。
c)可降低网络的通信量。
d)减轻了程序编写的工作量。
e)间接实现安全控制功能。
f)屏蔽表的细节,简化用户操作。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 工程师 复习资料