数据库重点简答题——期末、考研必背

1、数据库管理系统的功能:

1、数据定义功能
2、数据组织、存储和管理功能
3、数据操纵功能
4、数据库的事务管理和运行管理功能
5、数据库的建立和维护功能
6、其他功能

2、数据库系统的特点:

1、数据结构化
2、数据共享性高、冗余度低、易扩展
3、数据的独立性高
4、数据有DBMS统一管理

3、实体间的关系:

1、一对一:实体集A中的每一个实体,实体集B至多有一个实体与之对应,反之亦然。
eg.班主任与班级的关系,一个老师只能担任一个班级的班主任,一个班级只能有一个班主任。
2、一对多:实体集A中的每一个实体,实体集B中有N个实体与之对应;反之,对于实体集B中的每一个实体,实体A中之多有一个实体与之对应。
eg.学生与班主任的关系,一个班主任与多个学生,多个学生对应一个班主任。
3、多对多:实体集A中的每一个实体,实体集B中有N个实体与之对应;反之,对于实体集B中的每一个实体,实体A中有M个实体与之对应。
eg.学生与课程的关系,一名学生可以选修多门课程,一门课程也可以由多名学生来选择。

4、三级模式两级映像:

三级模式由模式、外模式、内模式组成。

外模式:也称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,使数据库用户的数据视图。
模式:也成为逻辑模式或概念模式,是数据库全体数据的逻辑结构和特征的描述,是所有用户的公共视图。
内模式:也称存储模式,是数据在数据库系统内部的表示,是对数据的物理结构和存储方式的改变。

两级映像是外模式/模式映像、模式/内模式映像。

外模式/模式映像:
当模式改变时,数据库管理员修改有关的外模式/模式映像,使得外模式保持不变,应用程序是根据外模式编写的,从而应用程序也保持不变,保证了数据与程序的逻辑独立性。
模式/内模式映像:
当数据存储结构改变时,数据库管理员修改模式/内模式映像,可以使模式保持不变,从而应用程序不必修改,保证了数据与程序的物理独立性。

5、数据库的独立性

数据独立性:数据库中的数据和应用程序不存在依赖关系,它包括逻辑独立性和物理独立性。
逻辑独立性:是用户的应用程序和数据库数据的逻辑结构是相互独立的。
物理独立性:是用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。

6、自然连接和等值连接

等值连接:连接符号为“=”的连接运算,他不要求连接属性的属性名相同。
自然连接:是一种特殊的等值连接。要求被连接的属性名相同。
等值连接不将重复属性列去掉,而自然连接将重复属性列去掉。
悬浮元组:被舍弃的元组
外连接:如果把悬浮元组也保存在结果关系中,而在其他属性上填空值(NULL)
左外连接:只保留左边关系的悬浮元组
右外连接:只保留右边关系的悬浮元组

7、关系模式和关系的区别

关系模式:是型,是对关系的描述,是关系的框架,是静态的,稳定的。
关系:是值,是关系模式在某一时刻的状态或内容,是动态的,是不断变化的。

8、传统的集合运算

并、差、交、笛卡尔积

9、专门的关系运算

选择、投影、连接、除运算

10、五种基本运算

选择、投影、并、差、笛卡尔积

11、SQL语言的特点

1、综合统一
2、高度非过程化
3、面向集合的操作方式
4、以同一种语法结构提供多种使用方法

12、视图的作用

1、简化用户操作
2、使用户能以多个角度看待同一数据
3、对重构数据库提供了一定的逻辑独立性
4、对机密数据提供安全保护
5、适当利用视图可以更清晰地表达查询

13、视图

1、是从一个或几个基本表中导出的表,是一个虚表。
2、数据库中只存放视图的定义,而不存放视图对应的数据,数据仍然存放在原来的基本表中。
3、当基本表中的数据发生变化时,从视图查询的数据也发生变化。
4、视图一经定义就可以像基本表一样被查询、删除,也可以在视图上再定义新的视图,但对视图的更新操作有限制。

14、索引、聚簇索引

索引是一种数据结构,是对照表、指针表。
索引作用:
(1)可以在一个基本表上创建多个索引
(2)可以提高查询效率
(3)提供多条存取路径是为了加快查询速度,减慢更新速度。类型包括聚簇索引、唯一索引、非唯一索引
改变表中的数据,索引将自动更新。
最经常查询的表上建立聚簇索引来提高查询效率,一个基本表上最多建立一个聚簇索引,经常更新的表上,不宜建立聚簇索引
聚簇索引:索引项的顺序与表中记录的物理顺序一致的索引组织

15、什么是数据库的安全性?

保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

16、论述数据安全性控制常用的方法和技术

用户身份鉴别、存取控制、视图机制、审计、数据加密

17、什么是数据库的自主存取控制方法和强制存取控制方法?

自主存取控制方法

定义各个用户对不同数据对象的存取权限。当用户对数据库访问时,首先检查用户的存取权限,防止不合法用户对数据的存取。

强制存取控制

每一个数据对象都被强制的标一一定的密级,每一个用户也被授予一个级别的许可证,系统规定只有某一级别的用户才能存取某一级密级的数据对象。

18、数据库的完整性与数据库的安全性的区别

数据库的完整性

是指数据库的正确行和相容性,防止不合语义的数据,防止错误信息的输入输出,即所谓的垃圾进垃圾出所造成的无效操作和错误结果。
完整性的防范对象是不合语义的操作。

数据库的安全性

是指保护数据库以防止不合法的使用所造成的数据泄露、更改和破坏。
安全性的防范对象是非法用户的操作。

19、数据库系统为了维护数据库的完整性所提供的功能(DBMS的完整性机制应该具备哪些功能?)

1、定义功能:提供定义完整性约束条件的机制
2、检查功能:检查用户发出的请求是否违背完整性约束条件
3、违约处理功能:如果发现违背完整性约束条件,则采取一定的动作来保证数据的完整性

20、什么是数据库的完整性约束条件?可分为哪几类?

完整性约束条件是指数据库中的数据应该满足的语义约束条件。
包括:静态列级约束、静态元组约束、静态关系约束
动态列级约束、动态元组约束、动态关系约束

21、关系系统中,当操作违背了实体完整性、参照完整性和用户定义完整性时,一般如何分别处理?

当操作违背实体完整性和用户定义完整性时,一般采用拒绝执行的处理方法。
对于违反参照定义完整性的并不是简单的拒绝执行,有时候也要根据应用语义来附加操作,保证数据库的正确性。

22、范式!

1NF

若关系模式R中的每一个分量都是不可分的数据项

2NF

若关系模式R满足1NF,且每一个非主属性完全依赖于候选码

3NF

弱关系模式R满足2NF,且每一个非主属性既不部分依赖于码,也不传递依赖于码

BCNF

关系R中的所有决定因素都是候选码

23、简述数据库的设计阶段

需求分析

准确了解和分析用户的需求

概念结构设计

对用户需求进行综合、归纳和抽象,形成独立于具体的DBMS和机器的概念模型。(形成E-R图)

逻辑结构设计

将概念结构设计阶段设计好的E-R图转换为某个DBMS所支持的数据模型,并对其进行优化。
步骤:
①将概念模型转换为一般的关系、层次、网状模型
②将关系、层次、网状模型转换为DBMS所指出的数据模型
③对数据模型进行优化

物理结构设计

为逻辑数据模型选取一个最适合应用环境的物理结构
步骤:
①确定数据库的物理结构,主要是存取方法和存储结构
②对物理结构进行评价,评价的重点是时间和空间效率

数据库的实施
数据库运行和维护

需求分析和概念结构设计独立于数据库管理系统
逻辑结构设计和物理结构设计依赖于数据库管理系统

24、数据字典的作用

数据字典:
是数据中各种描述信息和控制信息的集合,是数据库设计的而有力工具,是元数据,不是数据本身。
基本内容:
数据项、数据结构、数据流、数据存储、处理过程5各部分。
作用:
在需求分析阶段建立,是下一步进行概念结构设计的基础,并在数据库设计阶段不断修改、补充、完善。

25、数据库中常见的存取方法(关系模式的存取方法)

索引方法、聚簇方法、HASH方法
(索引b+索引,hash索引是数据库中最经典的存取方法)

26、数据库系统的故障有哪些类型?

(1)事务故障
(2)系统故障
(3)介质故障
(4)计算机病毒

数据库恢复:把数据库从错误状态恢复到某一已知的正确状态

事务可能遭到破坏的因素有:多事务并行,交叉执行,强行停止

27、简述事务故障的恢复策略

(1)反向扫描日志文件,查找该事务的更新操作。
(2)对该事务的更新操作执行逆操作,即将日志记录中“更新前的值"写入数据库。
(3)继续反向扫描日志文件,查找该事务更新操作,并做同样处理。
(4)如此处理下去,直到读到此事务的开始标记,事务故障恢复就完成了。

★28、简述系统故障时的数据库恢复策略。

(系统故障时的恢复)
(1)正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入REDO队列(重做队列)。同时找出故障发生时尚未完成的事务,将其事务标识记人UNDO队列(撤销队列)。
(2)对UNDO队列(撤销队列)中的各个事务进行撤销处理
(3)对REDO队列(重做队列)中的事务进行重做处理
UNDO反向扫描日志文件,撤销对数据库的更新,使得数据库恢复到更新前状态
REDO正向扫描日志文件,重做一次更新,使得数据库恢复到更新后的状态

★29、简述介质故障的恢复策略。

(1)装入最新的数据库后备副本,使数据库恢复到最近一次转储时的一致性状态。对于动态转储的数据库后备副本,还要转入日志文件副本,利用REDO+UNDO.才能使数据库恢复到以一致性状态。
(2)装人相应的日志文件副本,重做已完成的事务。

30.什么是事务(事务的概念)﹖事务具有哪些特性?定义事务的语句有哪些?

事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。事务是并发控制的基本单位。
事务具有原子性、一致性、隔离性、持续性四个特性。
开始Begin transaction;
结束commit(提交); rollback (回滚:撤销到事务最开始的状态)﹔

31.简述(试述)事务的特性。恢复技术能保证事务的哪些特性?

事务具有四个特性,即ACID特性:
(1)原子性:事务中包括的所有操作要么都做,要么都不做。
(2)一致性:事务必须使数据库从一个一致性状态变到另一个一致性状态。
(3)隔离性:一个事物的执行不能被其他事务干扰。
(4)持续性:(永久性)事务一旦提交,对数据库的改变是永久性的。

故障恢复可以保证事务的原子性和持续性
并发控制可以保证事务的一致性和隔离性

32、事务中的提交和回滚是什么意思?

提交(commit):提交事务的所有操作。将事务中所有对数据库的更新写回到磁盘上的物理数据库中,事务正常结束。
回滚(rollback):是数据库滚回到事务开始时的状态。在事务运行的过程中发生了某种故障,事务不能再继续执行,系统将事务对数据库的所有已完成的更新操作全部撤销,使数据回滚到事务最开始的状态。

33、1.什么是封锁?基本的封锁类型有几种?叙述他们的含义。

封锁就是事务Ⅰ在对某个数据对象操作之前,先向系统发出请求,对其加锁,在事务T释放他的锁之前,其他的事务不能更新或读此数据对象。
注:封锁是并发控制的一个重要技术
基本的封锁类型有两种:排他锁、共享锁
排他锁:又称写锁,事务T对数据对象A加上×锁,则只允许Ⅰ读取和修改A,其他事务不能再对A加任何类型的锁,直到T释放A上的锁。
共享锁:又称读锁,事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他的事务只能再对A加S锁,而不能加×锁,直到T释放A上的S锁。

34、并发操作可能会产生哪几类数据不一致?用什么方法可以避免各种数据不一致的情况?(简述数据库并发操作通常带来哪些问题)

丢失修改、不可重复读、读"脏"数据
避免不一致的方法和技术:并发控制。
丢失修改:T1和T2读入同一数据并修改。T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失
不可重复读:T1读取数据,事务T2执行更新操作,使得T1无法再现更新前的操作
读脏数据:T1修改数据并写回磁盘,T2读取同一数据,然后由于某种原因,T1撤销操作,使得T1恢复到原值,所以T2读到的数据与数据库中的不一致。
○常用的并发控制技术:""封锁、时间戳、乐观控制法、多版本并发控制等
为什么要并发控制?
因为数据库中可能会存在数据不一致问题,并发控制可以保证事务的一致性和隔离性。

35、简述三级封锁协议的内容以及不同级别的封锁协议能解决哪些数据不一致性问题?

(1)一级封锁协议:事务T在修改数据R以前必须先对其加×锁,直到事务结束才释放。——解决了“丢失修改"问题
(2)二级封锁协议:在一级封锁协议的基础上增加事务Ⅰ在读取数据R之前必须先对其加上S锁,读完可释放S锁。——不仅解决"丢失修改”,还解决了读"脏"数据问题。
(3)三级封锁协议:*在一级封锁协议的基础上增加事务T在读取数据R之前必须先对其加上S锁,直到事务结束才释放S锁。——不仅解决“丢失修改",读"脏"数据问题,还解决了“不可重复读"问题。
注:若只让简述第三级封锁协议或者第二级封锁协议,则需要将第一封锁协议也要叙述,因为他们均是在第一协议的基础上。

36、简述两段锁协议

两段锁协议是指所有事务必须分成两个阶段对数据项加锁和解锁
第一阶段:获得封锁(扩展阶段)事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。
第二阶段:释放封锁(收缩阶段)事务可以释放任何数据项上的任何类型的锁,但是不能申请任何锁。
注:遵守两段锁是可串行化调度的充分条件,而不是必要条件。

37、什么是死锁?叙述死锁产生的原因和解决办法?

死锁产生的原因:封锁可以引起死锁
死锁:T1等待T2,T2等待T1,T1和T2两个事务永远不能结束,形成死锁。
产生的原因:两个或多个事务都已封锁了一些数据对象,然后请求已被其他事务封锁的数据对象加锁,从而出现死等待。
预防死锁的办法:
(1)一次封锁法:(每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行)(2)顺序封锁法:(预先对数据对象规定一个封锁顺序,所有事务都按照这个顺序实行封锁)
诊断死锁的方法:超时法、等待图法
解决死锁的办法:当死锁发生时,就要选择一个处理死锁代价小的事务,将其撤销,释放此事务所持有的所有的锁,使其他事务得以运行下去。
(注:答题的时候解决死锁的常用方法要答三条:预防死锁的办法+解决思索的方法)

  • 8
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值