数据库总复习Word下载.docx
《数据库总复习Word下载.docx》由会员分享,可在线阅读,更多相关《数据库总复习Word下载.docx(9页珍藏版)》请在冰点文库上搜索。
(2)一对多联系(1:
n)如果对于实体集A中的每一个实体,实体集B中至多有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中之多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:
n。
(3)多对多联系(m:
n)如果对于实体集A中的每一个实体,实体集B中至多有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体与之联系,则称实体集A与实体集B具有多对多联系,记为m:
4.简述数据库系统模式的概念。
在数据模型中有“型”和“值”的概念。
型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。
模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。
模式的一个具体值称为模式的一个实例。
同一个模式可以有很多实例。
模式是相对稳定的,而使实例相对变动的,因为数据库中的数据是在不断更新的。
模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。
【二】
1.关系、组成关系的要素。
(1)关系是笛卡尔积的有限子集,也是一个二维表,现实世界的实体以及实体间的各种联系均用关系来表示。
关系数据结构、关系操作集合、关系完整性约束。
2.关系完整性约束。
关系模型的完整性约规则是对关系的某种约束条件,通常有三类:
(1)实体完整性:
指关系的主键作为实体唯一标识且不能取空值。
(2)参照完整性:
指建立关系之间联系的主码与外码引用的约束条件。
(3)用户定义的完整性:
是针对某个特定关系数据库的约束条件,它反映某一具体应用必须满足的语义要求。
3.WHERE和HAVING的区别。
作用的对象不同:
WHERE子句作用于基本表或视图,从中选择满足条件的元组。
HAVING短语作用于组,从中选择满足条件的组。
4.基本表与视图的组成与联系。
概念定义区别联系
基本表是本身独立存在的表,在SQL中一个关系就对应一个表。
一个基本表对应一个存储文件。
基本表和视图一样,都是关系。
视图是在基本表之上建立的表,它的结构和内容都来自基本表,它依据基本表存在而存在。
视图是从一个或几个基本表导出的表。
视图本身不独立存储在数据库中,是一个虚表。
【三】
什么是数据库的安全性和完整性,有何区别?
(1)安全性是指在信息系统的不同层次保护数据库,防止未授权的数据访问,避免数据的泄漏、不合法的修改或对数据的破坏。
完整性是指数据库中数据的正确性、有效性和相容性,其主要目的是防止错误的数据进入数据库。
区别:
数据的完整性和安全性是两个不同的概念。
前者是为了保护数据库以防止不合法用户故意造成的破坏,后者是为了保护数据库以防止合法用户无意中造成的破坏。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。
【四】
1.什么是函数依赖性?
定义:
设R(U)是属性集U上的关系模式。
X,Y是属性集U的子集。
若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。
(就是给定一个属性值,另一个属性值也会唯一的确定。
)
2.简述1NF、2NF、3NF、BCNF的满足条件。
1NF:
如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。
2NF:
若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF。
3NF:
关系模式R<
U,F>
中若不存在这样的码X、属性组Y及非主属性Z()使得X→Y,Y→X,Y→Z成立,则称R<
∈3NF。
BCNF:
∈1NF,若X→Y且Y?
X时X必含有码,则R<
∈BCNF。
(即每一个决定属性因素都包含码。
【五】
数据库设计的步骤:
(l)需求分析;
(2)概念结构设计;
(3)逻辑结构设计;
(4)物理结构设计;
(5)数据库实施;
(6)数据库运行和维护。
【六】
1.事务的概念和四个特征:
(l)事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
(2)事务具有4个特性:
原子性(Atomicity)、一致性(consistency)、隔离性(Isolation)和持续性(Durability)。
这4个特性也简称为ACID特性。
原子性:
事务是数据库的逻辑工作单位,事务中包括的操作要么都做,要么都不做。
一致性:
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:
一个事务的执行不能被其他事务干扰。
持续性:
也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
2.什么是日志文件?
有何作用?
(l)日志文件是用来记录事务对数据库的更新操作的文件。
(2)作用:
可以用来进行事务故障恢复和系统故障恢复,并协助后备副本进行介质故障恢复。
①事务故障恢复和系统故障恢复必须用日志文件;
②在动态转储方式中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库;
③在静态转储方式中,也可以建立日志文件。
【七】
1.并发操作可能会产生哪些数据不一致性?
答:
不一致性包括三类:
丢失修改、不可重复读和读“脏”数据。
(l)丢失修改:
两个事务Tl和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)Tl提交的结果,导致Tl的修改被丢失。
(2)不可重复读:
指事务Tl读取数据后,事务T2执行更新操作,使Tl无法再现前一次读取结果。
(3)读“脏”数据:
指事务Tl修改某一数据,并将其写回磁盘,事务T2读取同一数据后,Tl由于某种原因被撤销,
这时Tl已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数
据就为“脏”数据。
2.什么是封锁?
基本的封锁类型有几种?
试述它们的含义。
(l)封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。
(2)封锁类型有两种:
排它锁(X锁)和共享锁(S锁)。
(3)排它锁又称为写锁。
若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。
这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。
共享锁又称为读锁。
若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。
这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。
3.举例说明活锁死锁的含义
活锁:
如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。
T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。
然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求……T2有可能永远等待,这就是活锁的情形。
死锁:
如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁。
接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。
这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁。
补充:
关系代数例子
有学生—课程数据库,其中有:
★学生关系Student(Sno,Sname,Ssex,Sage)★选课关系SC(Sno,Cno,Grade)★课程关系Course(Cno,Cname,Teacher)
(1)查询课程号为C2的学生的学号与成绩
πSno,Grade(σCno=’C2’(SC))
(2)查询学习课程号为C2的学生学号与姓名
πSno,Sname(σCno=‘C2'
(Student SC)) πSno,Sname(σCno=‘C2'
(SC) Student)
(3)查询选修课课程名为MATHS的学生学号与姓名
πSno,Sname(σCname=MATHS(Student SC COURSE)) πSno,Sname(σCname=MATHS(COURSE) Student SC))
(4)查询选修课程号为C2或C4的学生学号
πSno(σCno=‘C2’∨Cno=‘C4’(SC))
(5)查询不选C2课的学生姓名与年龄
πSno,Sage(Student)-πSno,Sage(σCno=‘C2’(SC) Student)
(6)查询所学课程包含S3学生所学课程的学生学号
πSno,Cno(SC)÷
πCno(σSno=‘S3’(SC))
【其它】
1、数据库管理的三个阶段:
人工管理阶段、文件系统阶段、数据库系统阶段。
3、数据库系统的数据模型:
4、数据库系统的三级模式:
外模式、模式、内模式。
5、数据库的二级映像:
外模式/模式映像、模式/内模式映像。
6、关系的三种类型:
基本关系(基本表或基表)、查询表、视图表。
7、关系的6条性质:
①列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。
②不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
③列的顺序无所谓,即列的次序可以人以交换。
④任意的两个元组的候选码不能相同。
⑤行的顺序无所谓,即行的次序可以任意交换。
⑥分量必须取原子值,即每一个分量都是必须不可分割的数据项。
10、计算机系统的三类安全性问题:
技术安全类、管理安全类、政策法律类。
11、数据库的数据保护主要包括:
数据的安全性、数据的完整性。
12、审计一般可以分为:
用户级审计、系统级审计。
13、数据加密的主要方法有:
一种是替换方法,该方法使用密匙、另一种是置换方法。
14、一个关系模式R不属于2NF就会产生几个问题:
插入异常、删除异常、修改复杂。
16、故障的种类:
事务内部的故障、系统故障、介质故障、计算机病毒。
17、恢复机制涉及的两个关键问题是:
第一,如何建立容易数据;
第二,如何利用这些冗余数据实施数据库恢复。
18、日志文件的两种格式:
以记录为单位的日志文件和以数据块为单位的日志文件。
19、日志文件中登记的内容包括:
各个事务的开始标志、各个事务的结束标志、各个事务的所有更新操作。
20、每个日志记录的内容主要包括:
事务标识、操作的类别、操作的对象、更新前数据的旧值、更新后数据的新值。
21、登记日志文件是必须遵循的两条原则:
①登记的次序严格按并发事务执行的时间次序;
②必须先写日志文件,后写数据库。
24、避免活锁的简单方法是:
采用先来先服务的策略。
25、预防死锁的两种方法:
①一次封锁法、②顺序封锁法。
26、死锁的诊断:
①超时法、②等待图法。
死锁的解除:
通常采用的方法是选择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有的锁,使其它事务得意继续运行下去。