大学数据库课本数据库知识点.docx
《大学数据库课本数据库知识点.docx》由会员分享,可在线阅读,更多相关《大学数据库课本数据库知识点.docx(12页珍藏版)》请在冰豆网上搜索。
大学数据库课本数据库知识点
第一章
1.数据库管理系统〔DBMS〕
数据定义语言〔DDL〕、数据操纵语言〔DML〕
2.数据库系统〔DBS〕
由数据库、数据库管理系统、应用程序和数据库管理员组成
3.数据库管理技术的产生和开展
(1)人工管理阶段〔2〕文件管理阶段〔3〕数据库管理阶段
各区别见P7表〔重〕
数据库系统与文件系统的本质区别:
数据库系统实现整体数据的结构化
4.物理独立性和逻辑独立性的概念P13
5.数据库系统的核心和根底:
数据模型
6.两类数据模型:
第一类概念模型、第二类逻辑模型和物理模型
逻辑模型-->物理模型,由数据库系统完成
7.概念模型的表示方法:
实体—联系方法〔E-R方法〕P16
8.数据模型的组成要素:
数据结构、数据操作、完整性约束条件
9.按数据结构的类型来命名数据模型:
层次模型、网状模型、关系模型
10.关系模型的数据结构:
关系〔表〕、元组〔一行〕、码、域、分量〔元组中的一个属性值〕、关系模式〔表示为关系名〔属性1,属性2......〕〕
11.模式是相对稳定的,实例时相对变动的
12.三级模式:
模式、外模式、内模式
模式:
是数据库中全体数据的逻辑结构和特征的描述
外模式〔子模式或用户模式〕:
数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述
内模式〔储存模式〕:
是数据物理结构和存储方式的描述
13.二级映像:
〔1〕模式/外模式映像:
保证数据和程序的逻辑独立性
对于每一个外模式,都有一个。
(2)模式/内模式映像:
保证数据和程序的物理独立性
第二章
1.域:
具有一样数据类型的值的集合
不同取值个数个数称为域的基数
2.笛卡尔积:
所有域的所有不同组合P38
3.关系:
R(D1,D2,...,Dn)n是关系的目或度
关系的候选码、主属性、主码、全码
4.关系有三种类型:
根本关系〔根本表或基表〕、查询表、视图〔虚表〕
5.根本关系具有的性质:
(1)列是同质的
(2)不同的列可以出自同一个域
(3)分量必须去原子值,即每一个分量都必须是不可分的数据项
6.关系模式是型,关系是值
7.关系操作包括两大局部:
查询操作和更新操作〔插入、删除、修改〕
查询操作分为选择、投影、并、差、笛卡尔积〔5种根本操作〕、连接、除、交
操作的对象和结果都是集合
该操作方式也称“一次一集合方式〞
非关系数据模型的数据操作方式称“一次一记录方式
8.关系数据语言的分类
关系代数语言
关系演算语言:
元组关系演算语言、域关系演算语言
具有关系代数和关系演算双重特点的语言:
结构化查询语言
结构化查询语言是集查询、数据定义语言、数据操作语言和数据控制语言于一体的关系数据语言
关系完备性:
一个关系数据语言能够表示关系代数可以表示的查询
9.外码:
自身不是主码、取值会参照另外一X表〔也可同一X表〕的主码的取值
外码不一定要与相应的主码同名
(1)实体完整性:
主属性不能取空值
(2)参照完整性:
关系中的外码或取空值或取等于它参照的关系的主码值
(3)用户定义的完整性
11.集合运算
(1)传统的关系运算:
并:
RUS差:
-交笛卡尔积:
A×B
关系A、B分别有k1、k2个元组,如此A×B有k1×k2个元组
(2)专门的关系运算:
投影、选择、连接、除运算等
B.连接:
等值连接〔含自然连接,符号:
,查询常用到〕、非等值连接
自然连接中被舍弃的元组称为悬浮元组
外连接、左外连接、右外连接P55
C.除运算〔待定〕
D.查询练习:
P53、P56~57〔重〕
第四章数据库安全性
1.数据库安全性主要包括:
用户身份鉴别、多层存取控制、审计、视图、数据加密等技术
2.数据库管理系统提供的最外层安全保护措施:
用户身份鉴别
方法:
静态口令鉴别、动态口令鉴别、生物特征鉴别、智能卡鉴别
3.存取控制机制主要包括:
定义用户权限、合法权限检查〔组成数据库管理系统的存取控制子系统〕
定义用户权限:
登记到数据字典中,这些定义称为安全规如此〔授权规如此〕
4.自主存取控制〔MAC〕
(1)通过SQL的GRANT和REVOKE语句来实现
(2)用户权限由两个要素组成:
数据库对象和操作类型
(3)定义存取权限称为:
授权
〔4〕GRANT...ON...TO用户;详见P141-P142
假如用户后面再加WITHGRANTOPTION,表示该用户可以将该权限授权给其他
〔5〕REVOKE...ON...FROM用户;详见P143-P14
假如用户后面再加CASCADE,表示级联回收了该用户之前对其他用户的授权
〔6〕创建用户:
CREATEUSER[WITH][3个权限]
3个权限:
CONNECT、RESOURCE、DBA其区别见P145表
没有指定权限时,默认只是最低级权限
〔7〕角色:
是权限的集合角色的创建〔CREATE〕和收回〔REVOKE〕见P147
4.强制存取控制〔DAC〕
〔1〕数据库全部实体分为:
主体〔用户、进程〕、客体〔文件、根本表、视图等〕
〔2〕给主体客体指派一个敏感度标记:
绝密、某某、可信、公开
〔3〕规如此:
不上读、不下写P148
5.MAC和DAM共同构成数据库管理系统的安全机制。
系统先检查MAC,再检查DAC
6.视图机制的作用
创建:
CREATEVIEW视图名称
ASSELECT选出的一X小表
创建后可以对用户在该视图上授权P149
7.审计:
事后检查的安全机制
(1)功能:
把用户对数据库的所有操作自动记录在审计日志里
(2)分为:
用户级审计:
用户对自己创建的表或视图进展审计
系统级审计:
监测登录要求、授权和回收等
(3)通过AUDIT语句设置审计功能,NOAUDIT语句取消审计功能P151
(4)审计设置和审计日志存放在:
数据字典
8.数据加密P151
第五章数据库完整性
1.指数据的正确性和相容性
2.数据完整性和安全性的区别:
P157
3.实体完整性
(1)定义方法:
2种P158PRIMARYKEY
(2)实体完整性检查:
A.检查主码是不是唯一〔全表扫描或在主码上建立索引如B+树索引〕
〔3〕处理:
都拒绝执行
3.参照完整性
(1)定义方法:
P160FOREIGNKEY〔〕REFERENCES表名〔〕
(2)参照完整性检查:
可能破坏参照完整性的情况:
参照表增加或修改一个元组;被参照表删除或修改一个元组P161
(3)处理:
拒绝〔NOACTION〕、级联〔CASCADE〕、设置为空值
后2个是被参照表删除或修改时,对应的参照表删除或设为空值
后1个还要根据实际情况看是否可以设置为空值
(4)默认操作是拒绝,可以自己设置,在定义外码后加ONDELETECASCADE
或ONUPDATECASCADE等等P162
4.用户定义完整性:
(1)属性上的约束条件定义:
NOTNULL;UNIQUE;CHECK(...)P163~164
(2)元组上的约束条件定义:
在最后用CHECK语句,适用X围所有元组P165
(3)处理:
拒绝执行
5.完整性命令约束语句CONSTRAINT名字P165~166
〔1〕可以对约束条件命名、可以对2个属性联合进展约束
〔2〕可以删除〔DROP〕或修改〔ADD,修改前先删除〕约束条件
6.触发器〔事件-条件-动作规如此〕:
类似约束,但可实施更为复杂的检查和操作
〔1〕只有创建表的用户才可以在表上创建触发器,且数量有限
〔2〕只能在表上创建〔触发器的目标表〕,视图不可
〔3〕定义:
CREATETRIGGER触发器名
P170触发时机触发事件〔包含在哪个表〕
REFERENCING〔引用到的变量〕
...
触发动作间隔
WHEN(触发条件)
触发动作体
触发时机:
BEFORE、AFTER
触发动作间隔:
FOREACHROW〔行级〕、FOREACHSTATEMENT〔语句级〕
可引用的变量:
对于行级,有OLDROW、NEWROW
对于语句级,有OLDTABLE、NEWTABLE
〔4〕删除触发器:
DORPTRIGGER触发器名ON表名
第六章
1.函数依赖、平凡函数依赖和非平凡函数依赖、完全函数依赖和局部函数依赖、传递函数依赖P182
2.1NF;2NF:
不存在局部函数依赖〔假如码只有一个属性,如此一定满足〕;
3NF:
非主属性对码不存在传递函数依赖BF:
决定因素都是码
4NF:
不存在多值依赖
3.多值依赖P187
4.多值依赖的性质P187~188
5.规X化的目的:
尽量消除插入,删除异常,修改复杂,数据冗余
6.采取“一事一地〞的模式设计原如此
7.练习题P189
第七章数据库设计
1.数据库设计的特点:
〔1〕数据库建设的根本规律:
三分技术,七分管理,十二分根底数据
〔2〕结构〔数据〕设计和行为〔处理〕设计相结合
2.数据库设计的方法:
新奥尔良方法、基于E-R模型的设计方法、3NF设计方法、面向对象的设计方法、统一建模语言〔UML〕方法
3.数据库设计的根本步骤:
〔1〕需求分析
〔2〕概念结构设计:
产生E-R图
〔3〕逻辑结构设计:
转为某个数据库管理系统所支持的数据模型,如关系模型
〔4〕物理结构设计:
选取一个物理结构〔包括存储结构和存取方法〕
〔5〕数据库实施
〔6〕数据库运行和维护
以上3、4步与所选的数据库管理系统密切相关
4.需求分析
(1)调查的重点是“数据〞和“处理〞,通过调查获得以下要求:
信息要求、处理要求、安全性和完整性要求
(2)分析需求的方法:
结构化分析方法〔SA方法〕
采用自顶向下、逐层分解的方式分析系统
(3)数据字典:
即元数据,在需求分析阶段建立
包括数据项、数据结构、数据流、数据存储、处理过程P213
5.概念结构设计
(1)四类方法:
自顶向下、自底向上〔主要〕、逐步扩X、混合策略
(2)E-R图的集成:
A.合并E-R图,生成初步E-R图
B.消除不必要的冗余,设计根本E-R图
(3)合并E-R图会产生3种冲突:
属性冲突:
属性域冲突、属性取值单位冲突
命名冲突:
同名异义、异名同义
结构冲突:
3种P228
(4)消除冗余的方法:
分析方法,即以数据字典和数据流图为依据
6.逻辑结构设计
(1)E-R图转换为关系模式
1:
1关系、1:
n关系、m:
n关系的转换方法:
P232〔重〕
(2)数据模型的优化:
通常以规X化理论为指导
方法:
确定函数依赖关系,消除冗余,确定X式,确定是否要对某些模式进展合并或分解
7.物理结构设计
(1)常用的存取方法:
索引方法、聚簇方法〔都是针对某个属性列〕
(2)索引方法:
B+树索引、hash索引P236〔重〕
代价:
维护索引,查找索引要付出代价
(3)聚簇方法:
把属性上具有一样值的元组集中存放在连续的物理块中
C.减少存储空间〔一样在聚集在一起,聚簇码只要存1次〕
一个关系只能有一个聚簇。
何处建立聚簇:
A.经常在一起进展连接操作的关系;
C.属性上的值重复率很高〔学号肯定不适合〕
建立聚簇将导致元组移动其物理存储位置,此关系上原来建立的所有所有无效;
(4)确定数据的存放位置:
将易变局部和稳定局部,经常存取局部和存取频率较低局部分开存放。
第八章
1.使用游标的步骤:
P251
第九章关系查询处理和查询优化
1.查询处理分为四个阶段:
查询分析、查询检查、查询优化、查询执行
(1)查询分析:
语法规如此
(2)查询检查:
语义检查-->根据数据字典中的用户权限和完整性约束定义对用户的存取权限进展检查-->转换成关系代数表达式-->查询树〔语法分析树〕
(3)查询优化:
包括代数优化和物理优化
代数优化:
关系代数表达式的优化
物理优化:
存取路径和底层操作算法的选择
(4)查询执行:
优化器-->执行策略-->查询执行计划-->代码生成器-->代码
2.选择操作的查询算法
(1)简单的全表扫描算法
(2)索引扫描算法:
通过索引找到满足条件的元组指针-->元组
对于X围选择的,可以用B+树索引
3.连接操作的查询算法
(1)嵌套循环算法
(2)排序-合并算法:
外、内表都要排好序〔各扫描一遍〕
(3)索引连接算法:
在内表建立索引〔各扫描一遍〕
(4)hashjoin算法:
把连接属性作为hash码
第一步:
划分阶段/扩建阶段:
扫描一个较少元组的表进入哈希桶
第二步:
试探阶段/连接阶段:
扫描另外一个表.....
条件:
第一阶段那个表能够完全放入内存的hash桶
4.查询优化例子:
P281〔重〕
引入索引的是属于物理优化
5.查询树的启发式优化:
P284-285
6.物理优化可以选择的方法:
〔1〕基于规如此的启发式优化
〔2〕基于代价估算的优化
〔3〕两者结合的优化方法
7.基于启发式规的优化
(1)选择操作的启发式规如此:
什么时候用全表扫描,什么时候用索引扫描
P286~287
(2)连接操作的启发式规如此:
选择算法考虑顺序:
有序选2算法-->有索引的选3算法-->选4算法-->选嵌套循环算法〔选小的表作为外表〕
7.基于代价估算的优化P288〔重〕
(1)全表扫描算法
(2)索引扫描算法
(3)嵌套循环连接算法
(4)排序-合并算法
8.语义优化法:
P289〔略看即可〕
第十章数据库恢复技术
1.事务:
恢复和并发控制的根本单位
4个特性:
原子性、一致性、隔离性、持续性
事物以BEGINTRANSACTION开始,以IT或ROLLBACK完毕
2.三种写入硬盘的策略:
force、noforce、steal
3.故障的种类
(1)事务内部的故障:
非预期的,如运算溢出、并发事务发生死锁
处理:
UNDO撤销
(2)系统故障〔软故障〕:
CPU故障、操作系统故障、DMBS代码错误,断电
处理:
未提交的UNDO,已提交的REDO重做
(3)介质故障〔硬故障〕:
磁盘损坏
(4)计算机病毒
4.恢复的根本原理:
冗余
5.建立冗余数据〔恢复的实现〕最常用的技术:
数据转储、登记日志文件
6.数据库恢复中采用的根本技术:
数据转储〔通过后备副本或后援副本〕
7.转储类型
(1)静态转储
优点:
保持数据一致性
缺点:
转储必须等待...新事务的开始要等待...降低了数据库的可用性
(2)动态转储
缺点:
数据不一致
解决:
建立日志文件登记转储期间各事务对数据库的操作
(3)海量转储
(4)增量转储
8.登记日志文件P298~299
(1)事务故障的恢复:
UNDO
(2)系统故障的恢复:
UNDO或REDO
步骤:
A.正向扫描日志文件,找出已提交的事务记入重做队列和未完成的事务记入撤销队列
(3)介质故障的恢复:
重装数据库,重做已完成的事务
对于动态转储,还要装入日志文件副本
B.装入相应的日志文件副本,重做已完成的事务
(1)隔一段时间在日志文件中建立检查点,在另一个文件〔重新开始文件〕中记录各个检查点的地址
(2)检查点记录的内容:
P302
(3)将缓存中的所有日志记录写入磁盘的日志文件-->建立检查点-->缓存中所有数据记录写入磁盘的数据库-->将检查点地址写入重新开始文件
(4)出现故障时,采取的不同恢复策略:
P302~303
(5)使用检查点方法恢复的步骤:
P303
11.数据库镜像:
只选择对关键数据和日志文件进展镜像,而不是对整个数据库
第十一章
1.事务执行类型:
串行执行,交叉并发方式,同时并发方式
2.并发必须保证事务的一致性和隔离性
3.并发可能带来的问题
(1)丢失修改:
2个人同时修改同一数据
(2)不可重复读:
一个人读取期间,另一个人对该数据进展修改,删除或添加新的纪录幻影现象
(3)读“脏〞数据
主要原因是并发破坏了隔离性,并发控制机制就是要用正确的方式调度并发操作
4.封锁
(1)排它锁〔写锁,X锁〕;共享锁〔读锁,S锁〕
(2)2种锁的区别:
P312
5.活锁解决:
采用先来先服务的策略
6.死锁
(1)
(2)诊断:
A.超时法B.等待图法〔有回路〕
(3)解除:
撤销一个代价最小的事务
7.可串行化调度:
其结果与某一次串行执行的结果一样
8.冲突操作:
不同事务对同一数据的读写或写写;其它操作都不是
9.不同事务的冲突操作和同一事务的两个操作是不能交换的
10.一个调度能够通过交换形成一个串行调度,如此称冲突可串行化调度
交换例题P318
11.冲突可串行化调度--->串行化调度<--->正确的调度
不满足冲突可串行化调度也可以是串行化调度P319
12.两段锁协议P319
(1)遵守两段锁协议--->可串行化调度只是充分条件
(2)一次封锁法遵守两段锁协议,但遵守两段锁协议不一定是一次封锁法,可能发生死锁
13.封锁粒度
14.多粒度封锁多粒度树
15.意向锁ISIXSIX=S+IX相容矩阵