习题7及答案

习题7

1、数据库的安全保护通过哪些方面来实现?

答:DBMS对数据库的安全与保护通过四个方面来实现,即数据安全性控制、数据完整性控制、数据库的并发控制和数据库的恢复。

2、什么是数据的安全性控制?

答:防止未经授权的用户存取数据库中的数据,避免数据的泄露、更改或破坏。

3、什么是数据的完整性控制?

答:保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作。

4、什么是事务?事务的基本性质是什么?

答:所谓事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么些操作要么可全部成功运行,否则,将不执行其中任何一个操作,是一个不可分割的工作单元。

从保证数据库完整性出发,我们要求数据库管理系统维护事务的几个性质:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),简称为 ACID特性(这一缩写来自四个性质的第一个英文字母的组合),

5、什么是调度?什么是可串行化调试?

答:一般来讲,在一个大型的DBMS中,可能会同时存在多个事务处理请求,系统需要确定这组事务的执行次序,即每个事务的指令在系统中执行的时间顺序,这称作事务的调度。

定义多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化(Serializable)的调度。

可串行性(Serializability)是并发事务正确性的准则。按这个准则规定,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度。

6、并发操作会带来哪几类问题?并试举例说明。

答:并发操作会带来以下问题:

(1) 丢失修改(Lost Update)

两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失。丢失修改又称作写-写错误。

(2)脏读(Dirty Read)

事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。脏读又称作写-读错误。

(3) 不可重复读(Non-Repeatable Read)

事务T1 读取某一数据后,事务T2 对其做了修改,当T1 再次读取该数据时,得到与前次不同的值。不可重复读又称作读-写错误

(4) 幻象读(Phantom Read)

事务T2 按一定条件读取了某些数据后,事务T1 插入(删除)了一些满足这些条件的数据,当T2 再次按相同条件读取数据时,发现多(少)了一些记录。

7、数据库的并发控制的主要技术是什么?

答:并发控制的主要技术是封锁(Locking)。

8、什么是死锁?什么是活锁?试举例说明。

答:如果事务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两个事务永远不能结束,形成死锁。

9、什么是两段锁协议?其作用是什么?

答:两段锁协议(two-phase locking protocol)就是保证并发调度可串行性的封锁协议。该协议要求每个事务分两个阶段提出加锁和解锁申请:

(1)在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;

(2)在释放一个封锁之后,事务不再申请和获得任何其他封锁。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

依恋、阳光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值