数据库期末复习大纲Word格式文档下载.docx
《数据库期末复习大纲Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库期末复习大纲Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
关系数据结构:
域是一组具有相同数据类型的值的集合。
笛卡尔积是域上的一种集合运算。
域的笛卡尔积的子集叫做在域上的关系,表示为R(D1,D2,…,Dn)
R表示关系的名字,n是关系的目或度。
关系可以有三种类型:
基本关系(基本表、基表)、查询表、视图表
基本关系操作:
插入、删除、修改操作和查询操作两大部分。
查询操作:
选择、投影、并、差、笛卡尔积(基本操作)、连接、除、交
关系数据语言的分类:
关系代数、关系演算、结构化查询语言
选择:
,在关系R中选择满足F条件的诸元组
投影:
,从R中选择出A组成新的关系,其中A为R中的属性列,用“,”隔开
连接:
,从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
A和B分别为R和S上列数相等且可比的属性组,
是比较运算符。
为“=”为等值连接。
是从关系R和S的笛卡尔积中选取A、B属性值相等的元组。
省略掉
的是自然连接。
两个关系中比较的分量必须是同名的属性组,并且在结果中把重复的属性列去掉。
自然连接时,有些元组可能会被舍弃,叫做悬浮元组。
如果把悬浮元组保存在结果关系中,而在其他属性上填空值,那么这种连接叫做外连接;
如果只保留左边关系R中的悬浮元组叫做左外连接;
如果只保留右边关系S中的悬浮元组叫做右外连接。
哪边保留就将
符号向哪边延伸。
除:
R÷
S,假设结果为关系T,则T包含所有在R但不在S中的属性(R的非共同属性)及其值,且T的元组与S的元组的所有组合都在R中。
关系模型中有三类完整性约束:
实体完整性、参照完整性、用户定义的完整性。
其中实体完整性、参照完整性是必须满足的完整性约束条件,被称作关系的两个不变性。
实体完整性:
若属性A是基本关系B的主属性,则A不能取空值。
参照完整性:
若属性F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须取空值或者等于S中某个元组的主码值。
*第三章关系数据库标准语言SQL
SQL的特点:
1.综合同意
2.高度非过程化
3.面向集合的操作方式
4.以同一种语法结构提供多种使用方式
5.语言简洁,易学易用
SQL数据定义功能:
1.定义模式:
CREATESCHEMA<
模式名>
AUTHORIZATION<
用户名>
;
2.删除模式:
DROPSCHEMA<
<
CASCADE|RESTRICT>
3.定义基本表:
CREATETABLE<
表名>
(<
列名>
数据类型>
[列级完整性约束条件]
[,<
[列级完整性约束条件]]
·
·
表级完整性约束条件>
]);
4.修改基本表:
ALTERTABLE<
[ADD[COLUMN]<
新列名>
[完整性约束]]
[ADD<
表级完整性约束>
]
[DROP[COLUMN]<
[CASCADE|RESTRICT]]
[DROPCONSTRAINT<
完整性约束名>
[ALTERCOLUMN<
];
5.删除基本表:
DROPTABLE<
[CASCADE|RESTRICT];
3.掌握SQL查询:
SELECT[ALL|DISTINCT]<
目标列表达式>
]·
FORM<
表名或视图名>
]|(<
SELECT语句>
)[AS]<
别名>
[WHERE<
条件表达式>
[GROUPBY<
列名1>
[HAVING<
]]
[ORDERBY<
列名2>
[ASC|DESC]];
聚集函数:
COUNT、SUM、AVG、MAX、MIN只能用于SELECT子句和GROUPBY中的HAVING子句。
嵌套查询ANY或ALL,必须同时使用比较运算符EXISTS存在量词,只产生逻辑值
SQL数据更新:
1.插入数据:
INSERT
INTO<
[(<
属性列1>
属性列2>
]·
)]
VALUES(<
常量1>
常量2>
])|子查询;
INTO子句中没有出现的属性列将取空值,如果没有指明任何属性列名,则新插入的元组必须在每个属性列上均有值。
2.修改数据:
UPDATE<
SET<
=<
表达式>
[,<
[WHERE<
条件>
3.删除数据:
DELETE
FROM<
掌握视图:
1.建立视图:
CREATEVIEW<
视图名>
AS<
子查询>
[WITHCHECKOPTION];
2.删除视图:
DROPVIEW<
[CASCADE];
3.查询视图:
像对基本表一样查询
4.更新视图:
不是所有的视图都是可以更新的
5.视图的作用:
a)能够简化用户的操作
b)使用户能以多种角度看待同一数据
c)对重构数据库提供了一定程度的逻辑独立性
d)能够对机密数据提供安全保护
e)适当利用视图可以更清晰的表达查询
第四章数据库安全性
数据库安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。
存取控制机制主要包括定义用户权限和合法权限检查。
C2级的数据库管理系统支持自主存取控制,B1级的支持强制存取控制。
自主存取控制:
用户对于不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。
用户权限是由两个要素组成的:
数据库对象和操作类型。
定义存取权限称为授权。
存取控制的对象不仅有数据本身,还有数据库模式。
授权:
授予与收回(全部权限为ALLPRIVILEGES)
1.授予:
GRANT<
权限>
ON<
对象类型>
对象名>
TO<
用户>
[WITHGRANTOPTION];
2.收回:
REVOKE<
[CASCADE|RESTRICT];
3.创建数据库模式的权限:
CREATEUSER<
username>
[WITH][DBA|RESOURSE|CONNECT];
强制存取控制:
每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。
对于任意一个对象,只有具有合法许可证的用户才可以存取。
(绝密、机密、可信、公开)
3.掌握视图机制,掌握利用视图机制间接实现支持存取谓词的用户权限定义。
例如:
第五章数据库完整性
数据库的完整性是指数据的正确性和相容性。
正确性是指数据是符合现实世界语义、反映当前实际情况的;
相容性是指数据库同一对象在不同关系表中的数据是符合逻辑的。
数据的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。
数据的安全性是保护数据库防止恶意破坏和非法存取。
因此完整性检查和控制的防范对象是不合语义的、不正确的数据,防止它们进入数据库。
安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。
RDBMS(关系数据库管理系统)的数据库完整性实现机制:
1.提供定义完整性约束条件的机制
2.提供完整性检查的方法
3.进行违约处理
定义实体完整性(主码)PRIMARYKEY
定义参照完整性(外码)FOREIGNKEY
定义用户定义的完整性:
列值非空:
NOTNULL
列值唯一:
UNIQUE
检查列值是否满足一个条件表达式:
CHECK语句
完整性约束命名子句CONSTRAINT<
完整性约束条件名>
完整性约束条件>
完整性约束条件:
NOTNULL、UNIQUE、PRIMARYKEY、FOREIGNKEY、CHECK语句
修改表中的完整性限制:
ALTERTABLE表名
[DROPCONSTRAINT约束名;
[ADDCONSTRAINT约束名约束条件;
*第六章关系数据理论
为什么要学习关系数据理论:
要解决如何构造合适的数据模式即逻辑结构的问题。
2.范式的概念、1NF、2NF、3NF的概念和判定方法。
函数依赖:
某个属性集决定另一个属性集时,称另一属性集依赖于该属性集。
如:
学号函数决定姓名,姓名函数依赖学号,记作学号→姓名
设R(U)是属性集U上的关系模式,X、Y是U的子集。
非平凡的函数依赖:
X→Y,但Y
X,则X→Y是非平凡的函数依赖
平凡的函数依赖:
X,则X→Y是平凡的函数依赖
完全函数依赖:
如果X→Y,且对于X的任何一个真子集x,都有Y不函数依赖x,则称Y对X完全函数依赖,记作X
Y
部分函数依赖:
若X→Y,但Y不完全函数依赖于X,则Y对X部分函数依赖,记作X
传递函数依赖:
如果X→Y(Y
X),Y不函数依赖X,Y→Z(Z
Y),则称Z对X传递函数依赖,记作X
Z
设K为R<
U,F>
中的属性或属性组合,若K
U,则K为R的候选码。
若候选码多于一个,则选定其中的一个为主码。
包含在任何一个候选码中的属性称为主属性。
若整个属性组是码,称为全码。
关系模式R中属性[组]X并非R的码,但X是另一个关系模式的码,则称X是R的外部码,也称外码。
范式:
关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式。
一个低一级范式的关系模式通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。
1NF:
每一个分量必须是不可分的数据项,满足这个条件的关系模式就属于第一范式(1NF)。
2NF:
每一个非主属性不部分依赖于任何一个候选码,则R∈2NF。
3NF:
每一个非主属性不传递依赖于任何一个候选码,则R∈3NF。
BCNF:
每一个决定因素都包含码,则R∈BCNF。
所有非主属性对每一个码都是完全函数依赖
所有主属性对每一个不包含它的码也是完全函数依赖
没有任何属性完全依赖于非码的任何一组属性
若R∈BCNF,则R∈3NF。
若R∈3NF,则R∈2NF。
若R∈2CNF,则R∈1NF。
3.掌握无损连接性及函数依赖保持性的概念,分解为3NF的算法
*第七章数据库设计
数据库设计的基本步骤:
1.需求分析:
准确了解与分析用户需求。
是整个设计过程的基础。
2.概念结构设计:
是设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型。
3.逻辑结构设计:
将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化。
4.物理结构设计:
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)
5.数据库实施:
设计人员运用数据库管理系统提供的数据库语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编写与调试应用程序,组织数据入库,并进行试运行。
6.数据库运行和维护:
在数据库系统运行过程中必须不断地对其进行评估、调整与修改。
2.掌握概念结构设计,重点是E-R图的设计。
实体型用矩形表示
属性用椭圆形表示
联系用菱形表示
3.掌握逻辑结构设计,重点是将E-R图转换为关系模型。
一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
一个m:
n联系转换为一个关系模式。
三个或者三个以上实体间的一个多元联系可以转换为一个关系模式。
具有相同码的关系模式可以合并。
第九章关系查询处理和查询优化
查询处理的基本步骤:
1.查询分析:
对查询语句进行扫描、词法分析和语法分析。
2.查询检查:
对合法的查询语句进行语义检查。
3.查询优化:
选择一个高效执行的查询处理策略。
可分为代数优化和物理优化
4.查询执行:
依据优化器得到的执行策略生成查询执行计划。
查询优化:
每个查询都会有许多可供选择的执行策略和操作方法,查询优化就是选择一个高效执行的查询处理策略。
按照优化的层次可分为代数优化和物理优化。
代数优化是指关系代数表达式的优化。
物理优化是指存取路径和底层操作算法的选择。
第十一章并发控制
交叉并发方式:
单处理机中,并行事务的并行操作轮流交叉运行
同时并发方式:
多处理机中,多处理机同时运行多个事务。
事务是并发控制的基本单位。
并发操作带来的数据不一致:
丢失修改、不可重复读、读“脏”数据
封锁:
并发控制的重要技术
基本封锁类型:
排他锁(写锁、X锁)和共享锁(读锁、S锁)。
可串行化调度:
多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同。
可串行性是并发事务正确调度的准则。
冲突可串行化调度是可串行化调度的充分条件:
冲突操作是指不同的事务对同一个数据的读写操作和写写操作。
不同事务的冲突操作和同一事务的两个操作是不能交换的。
第十章数据库恢复技术
事务的基本概念和其特性:
事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
ACID特性:
原子性、一致性、隔离性和持续性。
故障的种类:
1.事务故障:
非预期的,是不能由应用程序处理的。
2.系统故障:
(软故障)
造成系统停止运转的任何事件,使得系统要重新启动。
3.介质故障:
(硬故障)
外存故障
4.计算机病毒
恢复机制涉及的两个关键问题:
建立冗余数据、如何利用这些冗余数据进行恢复。
恢复的基本原理是冗余,建立冗余数据最常用的技术是数据转储和登记日志文件。
数据转储:
数据库管理员定期地将整个数据库复制到其他存储介质上保存起来。
这些备用的数据称为后备副本或后援副本。
转储可分为静态转储和动态转储。
数据转储方法:
动态海量转储、动态增量转储、静态海量转储、静态增量转储
登记日志文件:
日志文件是用来记录事务对数据库的更新操作的文件。
对于以记录为单位的日志文件,需要登记的内容:
各个事务的开始(BEGINTRANSACTION)标记。
各个事务的结束(COMMIT或ROLLBACK)标记。
各个事务的所有更新操作。
每个标记或操作均为日志文件中的一个日志记录:
事务标识
操作的类型
操作对象
更新前数据的旧值
更新后数据的新值
登记日志文件必须遵守的原则:
登记的次序严格按并发事务执行的时间次序。
必须先写日志文件,后写数据库。
故障前已经提交的事务重做:
重做已提交的事务,将数据库恢复到一致状态
故障时未完成的事务撤销:
强行回滚该事务,即撤销该事务已经做出的任何对数据库的修改,使得该事务好像根本没有启动一样。