数据库原理第五章课后题答案(第四版)

简介: 数据库原理第五章课后题答案(第四版)

一、选择题

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.什么是数据库保护?数据库的安全性保护功能包括哪几个方面?解释它们的含义。

数据库保护又叫做数据库控制,是通过四方面实现的,即安全性控制,完整性控制,并发性控制和数据恢复。

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

数据库的完整性是指防止合法用户使用数据库时向数据库中加入不符合语义的数据。

数据的并发性控制是指对数据共享时数据的并发读取操作进行控制,以保持数据库中数据的一致性,即在任何一个时刻数据库都以相同形式给用户提供数据。

数据的恢复是指在数据库放生故障的时候,能够把数据从错误状态恢复到某一正确状态。

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

数据库的安全性是指保护数据库以防止非法使用所造成的数据泄露、更改或破坏。DBMS提供的安全性控制功能主要包括:用户标识和鉴定、用户存取权限控制、定义视图、数据加密和审计等几类。

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

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

完整性规则主要由以下三部分构成。

(1)触发条件:规定系统什么时候使用完整性规则来检查数据。

(2)约束条件:规定系统检查用户发出的操作请求违背了什么样的完整性约束条件。

(3)违约响应:规定系统如果发现用户发出的操作请求违背了完整性约束条件,应该采取一定的动作来保证数据的完整性,即违约时要做的事情。

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

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

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

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

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

为了充分利用数据库资源,很多时候数据库用户都是对数据库系统并行存取数据,这样就会发生多个用户并发存取同一数据的情况,如果对并发操作不加控制可能会产生不正确的数据,破坏数据的完整性。并发控制就是要解决这类问题,以保持数据库中数据的一致性,即在任何一个时刻数据库都将以相同的形式给用户提供数据。

6.并发操作会带来什么样的后果?

数据库的并发操作导致的数据库不一致性主要丢失更新(Lost Update)、污读(Dirty Read)和不可重读(Unrepeatable Read)三种。

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

所谓封锁就是当一个事务在对某个数据对象(可以是数据项、记录、数据集以及整个数据库)进行操作之前,必须获得相应的锁,以保证数据操作的正确性和一致性。基本的封锁类型有两种:排他型封锁和共享封锁。

排他型封锁又称写封锁,简称为X封锁,它采用的原理是禁止并发操作。

共享封锁又称读封锁,简称为S锁,它采用的原理是允许其他用户对同一数据对象进行查询,但不能对该数据对象进行修改。

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

发生死锁的必要条件有以下四个。

互斥条件:一个数据对象一次只能被一个事务所使用,即对数据的封锁采用排他式。

不可抢占条件:一个数据对象只能被占有它的事务所释放,而不能被别的事务强行抢占。

部分分配条件:一个事务已经封锁分给它的数据对象,但仍然要求封锁其他数据。

循环等待条件:允许等待其他事务释放数据对象,系统处于加锁请求相互等待的状态。

预防死锁常用的方法有一次加锁法和顺序加锁法两种,如果已经发现死锁,DBA从依赖相同资源的事务中抽出某个事务作为牺牲品,将它撤销,解除它的所有封锁,释放此事务占用的所有数据资源,分配给其他事务,使其他事务得以继续运行下去

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

数据库运行过程中可能出现的故障可分为以下三类:事务故障、系统故障和介质故障。

1.事务故障(Transaction Failure)及其恢复

事务故障表示由非预期的、不正常的程序结束所造成的故障。发生事务故障时,被迫中断的事务可能已对数据库进行了修改,为了消除该事务对数据库的影响,要利用日志文件中所记载的信息,强行回滚(ROLLBACK)该事务,将数据库恢复到修改前的初始状态。

2.系统故障(System Failure)及其恢复

系统故障是指系统在运行过程中,由于某种原因,造成系统停止运转,致使所有正在运行的事务都以非正常方式终止,要求系统重新启动。系统故障的恢复要完成两方面的工作,既要撤销所有未完成的事务,还需要重做所有已提交的事务。

3.介质故障(Media Failure)及其恢复

介质故障是指系统在运行过程中,由于辅助存储器介质受到破坏,使存储在外存中的数据部分丢失或全部丢失。解决此问题需要装入发生介质故障前最新的数据库后备副本,然后利用日志文件重做该副本所运行的所有事务。

10.简述规则和CHECK约束的区别与联系。

联系:

规则(Rule)就是数据库对存储在表中的列或用户自定义数据类型中的值的规定和限制。

规则和CHECK约束都是实施数据完整性的方法;规则和CHECK约束都可用于规定和限制表中列的值;规则和CHECK约束可以同时使用。

区别:相比之下,在ALTER TABLE或CREATE TABLE命令中使用的CHECK约束是更标准的限制列值的方法,但CHECK约束不能直接作用于用户自定义数据类型。规则是单独存储的独立的数据库对象,CHECK约束与其作用的表存储在一起;规则与其作用的表或用户自定义的数据类型是相互独立的,CHECK约束与其作用的表及列是紧密联系的;表的一列或一个用户自定义数据类型只能与一个规则绑定,而表的一列可以同时由多个CHECK约束。

目录
相关文章
|
4天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
|
3天前
|
SQL 存储 关系型数据库
数据库的基本原理
数据库的基本原理
8 2
|
8天前
|
存储 SQL NoSQL
探索数据库技术的奥秘:从核心原理到行业应用
一、引言 数据库技术是现代信息科技的核心组成部分,它为我们提供了一种高效、可靠的方式来存储、检索和管理数据
|
8天前
|
存储 人工智能 NoSQL
探索数据库技术的奥秘:原理、应用与前沿发展
一、引言 数据库技术作为现代信息技术的核心支柱之一,已经深入到各个行业与领域,成为数据处理与存储的不可或缺的工具
|
8天前
|
存储 SQL NoSQL
探索数据库技术的奥秘:原理、应用与前沿进展
一、引言 数据库技术作为现代信息技术的核心组成部分,承载着数据存储、检索、管理和分析的重要任务
|
8天前
|
SQL 存储 数据处理
探索数据库技术的奥秘:原理、应用与未来发展
一、引言 在当今数字化时代,数据库技术已成为支撑各种应用系统和业务运行的关键基础设施
|
8天前
|
SQL 存储 数据挖掘
探索数据库技术的奥秘:核心原理、应用场景与实践技巧
一、引言 数据库技术作为现代信息系统中不可或缺的一部分,扮演着存储、管理和检索数据的重要角色
|
8天前
|
SQL 存储 数据处理
揭秘数据库技术:原理、应用与未来趋势
一、引言 数据库技术是现代信息技术的基石,为各行各业提供了数据存储、检索、处理和分析的强有力支持
|
8天前
|
存储 SQL 人工智能
揭秘数据库技术:核心原理、应用场景与未来趋势
一、引言 在数字化和智能化的今天,数据库技术已经成为企业和组织不可或缺的基础设施
|
8天前
|
存储 SQL NoSQL
数据库技术全攻略:原理、应用与未来展望
一、引言 在数字化时代,数据是企业决策的关键

热门文章

最新文章