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

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

一、选择题

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约束。

目录
相关文章
|
1月前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
51 5
Mysql(3)—数据库相关概念及工作原理
|
19天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
36 2
|
1月前
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
57 5
|
1月前
|
SQL 关系型数据库 MySQL
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
|
1月前
|
SQL 存储 Java
sql注入原理与实战(二)数据库原理
sql注入原理与实战(二)数据库原理
|
3月前
|
消息中间件 Kafka 数据库
深入理解Kafka的数据一致性原理及其与传统数据库的对比
【8月更文挑战第24天】在分布式系统中,确保数据一致性至关重要。传统数据库利用ACID原则保障事务完整性;相比之下,Kafka作为高性能消息队列,采用副本机制与日志结构确保数据一致性。通过同步所有副本上的数据、维护消息顺序以及支持生产者的幂等性操作,Kafka在不牺牲性能的前提下实现了高可用性和数据可靠性。这些特性使Kafka成为处理大规模数据流的理想工具。
82 6
|
4月前
|
存储 SQL 关系型数据库
(六)MySQL索引原理篇:深入数据库底层揭开索引机制的神秘面纱!
《索引原理篇》它现在终于来了!但对于索引原理及底层实现,相信大家多多少少都有了解过,毕竟这也是面试过程中出现次数较为频繁的一个技术点。在本文中就来一窥`MySQL`索引底层的神秘面纱!
341 5
|
4月前
|
SQL 存储 安全
SQL数据库:核心原理、应用实践与未来展望
在电子商务领域,SQL数据库用于存储商品信息、用户信息、订单信息等。通过SQL数据库,电商平台可以实现商品的快速检索、用户行为的跟踪分析、订单状态的实时更新等功能,提升用户体验和运营效率。
|
3月前
|
存储 NoSQL 关系型数据库
Web中的数据库:原理、应用与代码实现
Web中的数据库:原理、应用与代码实现
109 0
|
4月前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
66 0