数据库原理及应用教程(第4版|微课版)陈志泊-第五章习题

一、单项选择题

  1. B
  2. B
  3. C
  4. A
  5. C
  6. D
  7. A
  8. C
  9. D
  10. D
  11. B
  12. B
  13. A
  14. D
  15. A

二、填空题

  1. 安全性控制、完整性控制、并发性控制、数据库恢复
  2. 数据对象、操作类型
  3. 授权粒度、授权表中允许的登记项范围
  4. 原始数据(或明文)、不可直接识别的格式(或密文)、密文
  5. 事务、原子性、一致性、隔离性、持久性
  6. 丢失更新、污读、不可重读
  7. 封锁、排他型封锁、共享封锁
  8. 利用数据的冗余
  9. 登记日志文件、数据转储
  10. 事务故障、系统故障、介质故障
  11. 海量转储、增量转储
  12. 静态转储、动态转储
  13. 完整性
  14. 登记账号、用户账号
  15. public
  16. 服务器、数据库

三、简答题

1、什么是数据库保护?数据库的安全性保护功能包含哪几个方面?解释它们的含义

数据库保护又叫做数据库控制

数据库的安全性保护功能包含安全性控制完整性控制并发性控制数据库恢复

安全性控制:是指要尽可能杜绝所有可能的数据库非法访问
完整性控制:是指保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作
并发性控制:是为了防止多个用户同时存取同一数据,造成的数据不一致
数据库恢复:系统具有检测故障并把数据从错误状态中恢复到某一正确状态的功能,这就是数据库的恢复

注:在这里,我第一题很是纠结,是不是这么填,因为P173的开头,可以自己去看下

2、什么是数据库的安全性?试述DBMS提供的安全性控制功能包含哪些内容

数据库的安全性是指保护数据库以防止非法使用所造成的数据泄露、更改或破坏

安全性控制包含:
1)用户标识和鉴定
2)用户存取权限控制
3)定义视图
4)数据加密
5)审计

如果觉得这几题有问题,可告知修改

3、什么是数据库的完整性?关系数据库中有哪些完整性规则,各包含哪些内容?

数据库的完整性:是指保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作

完整性规则:
1)触发条件:规定系统什么时候使用完整性规则来检查
2)约束条件:规定系统检查用户发出的请求违背了什么样的完整性约束
3)违约响应:规定系统如果发现用户发出的操作请求违背了完整性约束条件,应该采取一定的动作来保证数据的完整性,即违约时要做的事情

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

事务是数据库系统中执行的一个工作单位,它是由用户定义的一组操作序列

提交:COMMIT表示事务的提交,即将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,此时事务正常结束;

回滚:ROLLBACK表示事务的回滚,即在事务运行过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤销,再回滚到事务开始时的状态

5、在数据库中为什么要有并发控制?

在数据库中,数据资源是共享的,在同一时刻,可能有多个用户对同一资源进行并发操作数据,如果对并发不加以控制,可能会产生不正确的数据,破坏数据的完整性

6、并发操作会带来什么后果?

并发操作会带来:丢失更新、污读、不可重读

7、什么是封锁?封锁的基本类型有几种,含义如果?

所谓封锁就是当一个事务在对某个数据对象(可以是数据项、记录、数据集以及整个数据库)进行操作之前,必须获得相应的锁,以保证数据操作的正确性和一致性

封锁有两种类型:排他型封锁、共享封锁

排他型封锁:又称写封锁,简称为X封锁,它采用的原理是禁止并发操作
共享封锁:又称读封锁,简称为S锁,它采用的原理是允许其他用户对同一数据对象进行查询,但不能对该数据对象进行修改

其实上面说的就是两种锁:
写锁和读锁
写锁:我一上锁,无论你是写锁还是读锁,都得乖乖等待我释放锁,再去执行
读锁:我一上锁,只有你是加了读锁或者读操作,都能访问我加了写锁的数据
	X    S
X	无	无
S	无	有

8、试述发生死锁的条件和消除死锁的常用方法

死锁产生的条件:
1)互斥条件:一个数据对象一次只能被一个事务所使用,即对数据的封装采用排他式
2)不可抢占条件:一个数据对象只能被占有它的事务所释放,而不被别的事务所抢占
3)部分分配条件:一个事务已经封锁分给它的数据对象,但仍然要求封锁其他数据
4)循环等待条件:允许等待其它事务释放数据对象,系统处于加锁互相等待的状态

消除死锁的方法:
1)一次加锁法
2)顺序加锁法

9、数据库运行过程中可能产生的故障有哪几类,各类故障如何恢复?

P202,懒得写了

10、简述规则和CHECK约束的区别和联系

区别:
表的列只能有一个规则,但可以有多个约束
CHECK约束不能直接作用于用户自定义的数据类型,规则可以

联系:
同样对存储在表中的列的值加以约束

暂且知道这些,有的补充,可以告诉我哇

欢迎大家关注下个人的「公众号」:独醉贪欢
后台回复「无脑死磕数据库原理」即可获得练习题与答案

你可能感兴趣的:(SQLServer)