当前位置:文档之家› 数据库概论试题(并发控制)

数据库概论试题(并发控制)

数据库概论试题(并发控制)

第8章并发控制

1.并发操作带来的数据不一致性包括:__丢失__、__修改不可重复读__和__读“脏”数据__。

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

答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。

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

5.基本的封锁类型有两种:_排它锁(ExclusiveLocks,简称X锁)_和__共享锁(ShareLocks,简称S锁)__。

6.什么是封锁?

答:封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。

7.在数据库并发控制中,两个或多个事务同时处在相互等待状态,称为__死锁__。

10.__封锁对象的大小_被称为封锁的粒度。

答案:封锁对象的大小

12.什么是活锁?什么是死锁?

13.试述活锁的产生原因和解决方法。

14.请给出预防死锁的若干方法。

15.请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?

16.什么样的并发调度是正确的调度?

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

数据库原理习题与答案 第9章数据库系统恢复和并发控制技术

第九章.数据库系统恢复和并发控制技术 习题: 一.填空题 1.数据库保护包含数据的。 2.是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。 3.DBMS的并发控制的主要方法是机制。 4.有两种基本的锁,它们是和。 5.对并发操作若不加以控制,可能带来的不一致性有、和。 6.数据库系统在运行过程中,可能会发生故障,故障主要有、、介质故障和四类。 7.数据库系统是利用存储在外存上其他地方的来重建被破坏的数据库,它主要有两种:和。 二.选择题 1.下面哪个不是数据库系统必须提供的数据控制功能。 A.安全性 B.可移植性 C.完整性 D.并发控制 2.事务的原子性是指。 A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的 C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 3.多用户的数据库系统的目标之一是使它的每个用户好像面对着一个单用户的数据库一样使用它,为此数据库系统必须进行。 A.安全性控制 B.完整性控制 C.并发控制 D.可靠性控制 4.设有两个事务T1、T2,其并发操作如下图所示,下面评价正确的是________。 T1 T2 ①读A=10 ②读A=10 ③A=A-5写回 ④A=A-8写回

A该操作不存在问题B该操作丢失修改 C该操作不能重复读D该操作读“脏”数据 5.若事务T对数据R已加X锁,则其他对数据R 。 A.可以加S锁,不能加X锁 B.不能加S锁,可以加X锁 C.可以加S锁,也可以加X锁 D.不能加任何锁 6.对并发控制不加以控制,可能会带来。 A.不安全 B.死锁 C.死机 D.不一致 7.用来记录对数据库中数据进行的每一次更新操作。 A.后援副本 B.日志文件 C.数据库 D.缓冲区 三.简答题 1.试述事务的概念和事务的四个特性。 2.数据库中为什么要有恢复子系统,它的功能是什么? 3.数据库运行中可能发生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据? 4.数据库恢复的基本技术有哪些? 5.登记日志文件时,为什么必须先写日志文件,后写数据库? 6.在数据库中为什么要并发控制? 7.什么是封锁? 8.基本的封锁有哪几种?试述它们的含义。 9.不同封锁协议与系统一致性级别的关系是什么? 10.请给出预防死锁的若干方法。 11.什么样的并发调度是正确的调度? 12.试述两段锁协议的概念。

数据库考试习题四答案

第九、十章 一、选择 1 ?下面哪个不是数据库系统必须提供的数据控制功能:___________ A安全性B可移植性C完整性D 并发控制 2 ?保护数据库,防止未经授权的或不合法的使用造成的数据泄露、更改破坏。 这是指数据的 ____ o A安全性B完整性C并发控制D恢复 3 ?数据库系统中,对存取权限的定义称为_______ o A命令B授权C定义D 审计 4. 年龄限制在16~25之间这种约束属于DBMS的 ___________ 能。 A安全性B完整性C并发控制D恢复 5. “授权”和“撤权”是DBS采用的_____ 措施。 A安全性B完整性C并发控制D恢复 二、填空 1 .数据库的完整性是指数据的正确性和相容性。 2. 完整性约束分为实体完整性、参照完整性和用户自定义的完整性。 3. 为了保护数据库的实体完整性,当用户程序对主码进行更新使主码值不唯一时, DBMS就拒绝此操作。 4. 实体完整性是指在基本表中主码属性不能取空值。 5. 在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语 句,对用户授权使用GRANT语句,收回所授的权限使用REVOKE语句。 6. 安全性控制的一般方法有用户标识和鉴定、存取控制、审计、数据加密和视图 的保护五级安全措施。 6. 存取权限包括两个方面的内容,一个是要存取的数据对象,另一个是对此数据 对象进行操作的类型。 7. 授权编译系统和合法权检查机制一起组成了安全性子系统。 8. 保护数据安全性的一般方法是设置用户标识和存取权限控制。 9. 数据库的完整性是指正确性和相容性。 10. 数据库保护包含数据的安全性、完整性、并发控制、恢复。

第八章 数据库并发控制练习和答案教学内容

第八章数据库并发控制 一、选择题 1.为了防止一个用户的工作不适当地影响另一个用户,应该采取()。 A. 完整性控制 B. 访问控制 C. 安全性控制 D. 并发控制 2. 解决并发操作带来的数据不一致问题普遍采用()技术。 A. 封锁 B. 存取控制 C. 恢复 D. 协商 3.下列不属于并发操作带来的问题是()。 A. 丢失修改 B. 不可重复读 C. 死锁 D. 脏读 4.DBMS普遍采用()方法来保证调度的正确性。 A. 索引 B. 授权 C. 封锁 D. 日志 5.事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放, 这是()。 A. 一级封锁协议 B. 二级封锁协议 C. 三级封锁协议 D. 零级封锁协议 6.如果事务T获得了数据项Q上的排他锁,则T对Q()。 A. 只能读不能写 B. 只能写不能读 C. 既可读又可写 D. 不能读也不能写 7.设事务T1和T2,对数据库中地数据A进行操作,可能有如下几种情况, 请问哪一种不会发生冲突操作()。 A. T1正在写A,T2要读A B. T1正在写A,T2也要写A C. T1正在读A,T2要写A D. T1正在读A,T2也要读A 8.如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突的操作是()。 A. 一个是DELETE,一个是SELECT B. 一个是SELECT,一个是DELETE C. 两个都是UPDATE D. 两个都是SELECT 9.在数据库系统中,死锁属于()。 A. 系统故障 B. 事务故障 C. 介质故障 D. 程序故障 二、简答题 1. 在数据库中为什么要并发控制? 答:数据库是共享资源,通常有许多个事务同时在运行。 当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。 2. 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。

数据库 第八章 并发控制

数据库第八章并发控制 并发控制习题1.在数据库中为什么要并发控制?2.并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?3.什么是封锁?4.基本的封锁类型有几种?试述他们的含义。5.如何用封锁机制保证数据的一致性?6.什么是封锁协议?不同级别的封锁协议的主要区别是什么?7.不同封锁协议与系统一致性级别的关系是什么?8.什么是活锁?什么是死锁?9.试述活锁的产生原因和解决方法。10.请给出预防死锁的若干方法。11.请给出预测死锁发生的一种方法,当发生死锁后如何接触死锁?12.什么样的并发调度是正确的调度?13.设T1,T2,T3是如下3个事务:T1:A:=A+2;T2:A:=A*2;T3:A:= A**2;(A?A2) 设A的初值为0。

若这3个事务允许并行执行,则有多少可能的正确结果,请一一列举出来。请给出一个可串行化的调度,并给出执行结果。请给出一个非串行化的调度,并给出执行结果。若这3个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度。若这3个事务都遵守两段锁协议,请给出一个产生死锁的调度。14.试述两段锁协议的概念。15.试证明,若并发事务遵守两段锁协议,则对这些事务的并发调度是可串行化的16.举例说明,对并发事务的一个调度是可串行化的,而这些事务不一定遵守两段锁协议。17.为什么要引进意向锁?意向锁的含义是什么?18.试述常用的意向锁:IS锁、IX锁、SIX锁,给出这些锁的相容矩阵。19.理解并解释下列术语的含义:封锁、活锁、死锁、排他锁、共享锁、并发事务的调度、可串行化的调度、两段锁协议。*20.试述你了解的某一个实际的DBMS产品的并发控制机制。参

数据库系统原理教程课后习题及答案(第十章)

第11章并发控制 1 .在数据库中为什么要并发控制? 答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。 2 .并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏’夕数据。( l )丢失修改(lost update ) 两个事务Tl 和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)Tl 提交的结果,导致Tl 的修改被丢失。( 2 )不可重复读(Non 一Repeatable Read ) 不可重复读是指事务Tl 读取数据后,事务几执行更新操作,使Tl 无法再现前一次读取结果。( 3 )读“脏”数据(Dirty Read ) 读“脏’夕数据是指事务Tl 修改某一数据,并将其写回磁盘,事务几读取同一数据后,Tl 由于某种原因被撤销,这时Tl 已修改过的数据恢复原值,几读到的数据就与数据库中的数据不一致,则几读到的数据就为“脏”数据,即不正确的数据。避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。 3 .什么是封锁?基本的封锁类型有几种?试述它们的含义。 答:封锁就是事务T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T 就对该数据对象有了一定的控制,在事务T 释放它的锁之前,其他的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。 基本的封锁类型有两种:排它锁(Exclusive Locks ,简称x 锁)和共享锁( Share Locks,简称S 锁)。排它锁又称为写锁。若事务T 对数据对象A 加上X 锁,则只允许T 读取和修改A ,其他任何事务都不能再对A 加任何类型的锁,直到T 释放A 上的锁。这就保证了其他事务在T 释放A 上的锁之前不能再读取和修改A 。共享锁又称为读锁。若事务T 对数据对象A 加上S 锁,则事务T 可以读A但不能修改A ,其他事务只能再对A 加S 锁,而不能加X 锁,直到T 释放A 上的S 锁。这就保证了其他事务可以读A ,但在T 释放A 上的S 锁之前不能对A 做任何修改。 4 .如何用封锁机制保证数据的一致性? 答:DBMS 在对数据进行读、写操作之前首先对该数据执行封锁操作,例如下图中事务Tl 在对A 进行修改之前先对A 执行xock ( A ) ,即对A 加x 锁。这样,当几请求对A 加x 锁时就被拒绝,几只能等待Tl 释放A 上的锁后才能获得对A 的x 锁,这时它读到的A 是Tl 更新后的值,再按此新的A 值进行运算。这样就不会丢失Tl 的更新。

数据库并发控制

数据库是一个共享资源,可以提供多个用户使用。这些用户程序可以一个一个地串行执行,每个时刻只有一个用户程序运行,执行对数据库的存取,其他用户程序必须等到这个用户程序结束以后方能对数据库存取。但是如果一个用户程序涉及大量数据的输入/输出交换,则数据库系统的大部分时间处于闲置状态。因此,为了充分利用数据库资源,发挥数据库共享资源的特点,应该允许多个用户并行地存取数据库。但这样就会产生多个用户程序并发存取同一数据的情况,若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性,所以数据库管理系统必须提供并发控制机制。并发控制机制的好坏是衡量一个数据库管理系统性能的重要标志之一。 DM用封锁机制来解决并发问题。它可以保证任何时候都可以有多个正在运行的用户程序,但是所有用户程序都在彼此完全隔离的环境中运行。 一、并发控制的预备知识 (一) 并发控制概述 并发控制是以事务(transaction)为单位进行的。 1. 并发控制的单位――事务 事务是数据库的逻辑工作单位,它是用户定义的一组操作序列。一个事务可以是一组SQL 语句、一条SQL语句或整个程序。 事务的开始和结束都可以由用户显示的控制,如果用户没有显式地定义事务,则由数据库系统按缺省规定自动划分事务。 事务应该具有4种属性:原子性、一致性、隔离性和持久性。 (1)原子性 事务的原子性保证事务包含的一组更新操作是原子不可分的,也就是说这些操作是一个整体,对数据库而言全做或者全不做,不能部分的完成。这一性质即使在系统崩溃之后仍能得到保证,在系统崩溃之后将进行数据库恢复,用来恢复和撤销系统崩溃处于活动状态的事务对数据库的影响,从而保证事务的原子性。系统对磁盘上的任何实际数据的修改之前都会将修改操作信息本身的信息记录到磁盘上。当发生崩溃时,系统能根据这些操作记录当时该事

数据库系统原理与设计万常选版第七章练习题和详细答案

第七章数据库恢复技术 一、选择题 1.一个事务的执行,要么全部完成,要么全部不做, 一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是()。 A. 原子性 B. 一致性 C. 独立性 D. 持久性 2.表示两个或多个事务可以同时运行而不互相影响的是()。 A. 原子性 B. 一致性 C. 独立性 D. 持久性 3. 事务的持续性是指() A.事务中包括的所有操作要么都做,要么都不做。 B.事务一旦提交,对数据库的改变是永久的。 C.一个事务内部的操作对并发的其他事务是隔离的。 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态。 4.SQL语言中的COMMIT语句的主要作用是()。 A. 结束程序 B. 返回系统 C. 提交事务 D. 存储数据 5.SQL语言中用()语句实现事务的回滚 A. CREATE TABLE B. ROLLBACK C. GRANT和REVOKE D. COMMIT 6.若系统在运行过程中,由于某种硬件故障, 使存储在外存上的数据部分损失或全部损失,这种情况称为()。 A. 介质故障 B. 运行故障 C. 系统故障 D. 事务故障 7.在DBMS中实现事务持久性的子系统是()。 A. 安全管理子系统 B. 完整性管理子系统 C. 并发控制子系统 D. 恢复管理子系统 8. 后援副本的作用是()。 A. 保障安全性 B. 一致性控制 C. 故障后的恢复 D. 数据的转储 9.事务日志用于保存()。 A. 程序运行过程 B. 程序的执行结果 C. 对数据的更新操作 D. 数据操作 10.数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括()。 A. 数据字典、应用程序、审计档案、数据库后备副本 B. 数据字典、应用程序、审计档案、日志文件 C. 日志文件、数据库后备副本 D. 数据字典、应用程序、数据库后备副本 二、简答题 1.试述事务的概念及事务的四个特性。 答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

并发控制 课后答案-简述并发控制

第八章并发控制 习题解答和解析 1. 1.在数据库中为什么要并发控制? 答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。 2. 2.并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读"脏"数据。 (1)丢失修改(Lost Update)两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。 (2)不可重复读(Non -Repeatable Read)不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。不可重复读包括三种情况:详见《概论》8.1(P266)。 (3)读"脏"数据(Dirty Read)读"脏"数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为"脏"数据,即不正确的数据。 避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。 3. 3.什么是封锁? 答:封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。 4. 4.基本的封锁类型有几种?试述它们的含义。 答:基本的封锁类型有两种:排它锁(Exclusive Locks, 简称X 锁)和共享锁(Share Locks,简称S 锁)。 排它锁又称为写锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。 共享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 5.如何用封锁机制保证数据的一致性? 答:DBMS在对数据进行读、写操作之前首先对该数据执行封锁操作,例如下图中事务T1在对A进行修改之前先对A执行XLock(A),即对A加X锁。这样,当T2请求对A加X锁时就被拒绝,T2只能等待T1释放A上的锁后才能获得对A的X锁,这时它读到的A是T1更新后的值,再按此新的A值进行运算。这样就不会丢失T1的更新。

第11章 并发控制(习题集)

第十一章并发控制(习题集) 二、选择题 1、为了防止一个用户的工作不适当地影响另一个用户,应该采取(D)。 A. 完整性控制 B. 访问控制 C. 安全性控制 D. 并发控制 2、解决并发操作带来的数据不一致问题普遍采用(A)技术。 A. 封锁 B. 存取控制 C. 恢复 D. 协商 3、下列不属于并发操作带来的问题是(C)。 A. 丢失修改 B. 不可重复读 C. 死锁 D. 脏读 4、DBMS普遍采用(C)方法来保证调度的正确性。 A. 索引 B. 授权 C. 封锁 D. 日志 5、如果事务T获得了数据项Q上的排他锁,则T对Q(C)。 A. 只能读不能写 B. 只能写不能读 C. 既可读又可写 D. 不能读也不能写 6、设事务T1和T2,对数据库中地数据A进行操作,可能有如下几种情况,请问哪一种不会发生冲突操作(D)。 A. T1正在写A,T2要读A B. T1正在写A,T2也要写A C. T1正在读A,T2要写A D. T1正在读A,T2也要读A 7、如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突的操作是(D)。 A. 一个是DELETE,一个是SELECT B. 一个是SELECT,一个是DELETE C. 两个都是UPDATE D. 两个都是SELECT 8、在数据库系统中,死锁属于(B)。 A. 系统故障 B. 事务故障 C. 介质故障 D. 程序故障 9、数据库中的封锁机制是( C )的主要方法。 A、完整性 B、安全性 C、并发控制 D、恢复 三、填空题 1、基本的封锁类型有两种:__排他锁__ 和_共享锁_ 。 2、并发操作可能会导致:丢失修改、不可重复读、读脏数据。 四、简答题

数据库概论试题(并发控制)

第8章并发控制 1.并发操作带来的数据不一致性包括:__丢失__、__修改不可重复读__和__读“脏”数据__。 2.在数据库中为什么要并发控制? 答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。 3.多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为_可串行化_的调度。 5.基本的封锁类型有两种:_排它锁(ExclusiveLocks,简称X锁)_和__共享锁(ShareLocks,简称S锁)__。 6.什么是封锁? 答:封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。 7.在数据库并发控制中,两个或多个事务同时处在相互等待状态,称为__死锁__。 10.__封锁对象的大小_被称为封锁的粒度。 答案:封锁对象的大小 12.什么是活锁?什么是死锁? 13.试述活锁的产生原因和解决方法。 14.请给出预防死锁的若干方法。 15.请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁? 16.什么样的并发调度是正确的调度? 答:可串行化(Serializable)的调度是正确的调度。可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化的调度。

数据库技术复习

1.与网状和层次数据库相比,关系数据库有哪些优点? 与层次和网状模型比较,关系模型有下列优点:数据结构单一;建立在严格的数学概念基础上;将数据定义和数据操纵统一在一种语言中,使用方便,易学易用。 2.试述关系模型的完整性规则 实体完整性:关系中键属性的值不能取空值。 参照完整性:是关系间引用所遵循的规则,与外键有关。 用户定义的完整性:数据间应满足的语义约束关系,由用户定义,由系统检查。 3.试述等值连接与自然连接的区别和联系 等值连接表示为R A=BS,自然连接表示为R S;自然连接是除去重复属性的等值连接。两者之间的区别和联系如下:1、自然连接一定是等值连接,但等值连接不一定是自然连接。 等值连接不把重复的属性除去;而自然连接要把重复的属性除去。2、等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。3等值连接不把重复的属性除去;而自然连接要把重复的属性除去。 4.函数依赖、部分依赖、完全依赖、传递依赖、平凡依赖 5.函数依赖公理和推论 Armstrong公理(三个公理): 设r是R(U)上的一个关系,X、Y、Z、W U。 A1. 自反律: 若Y X U, 则 X→Y; A2. 增广律: 若X→Y且Z U,则 XZ→YZ; A3. 传递律: 若X→Y, Y→Z,则 X→Z. 有以上三个公理,可以推出以下3个推论: 推论1(合成规则):若X→Y,X→Z,则X→YZ 推论2(分解规则):若X→Y且Z Y,则X→Z 推论3(伪传递规则)若X→Y,YZ→W,则XZ→W。 6.函数依赖的覆盖和等价 对于在模式R上的函数依赖集F和G,如果对G中的每一个函数依赖X→Y,都有F|=X→Y,称F是G的一个覆盖。把逻辑蕴含符号引入函数依赖集的覆盖中,记为:F|= G 定义(等价和覆盖) 在模式R上的FDs F和G,若F+=G+,则称F和G等价。记作F G。 定理:已知模式R上的函数依赖集 F和G。当且仅当 F|=G 且 G|=F ,则 F G。 1.试述数据库设计过程,及每个阶段的任务。 数据库的设计可分为以下六个阶段:需求分析、概念设计、逻辑设计、物理设计、实施和运行、使用和维护。 需求分析:信息需求、处理需求、安全性和完整性方面的需求。 概念设计:在需求分析的基础上,通过对用户需求进行分析、归纳、抽象,形成一个独立于具体DBMS和计算机硬件结构的整体概念结构,常用工具用ER模型。 逻辑设计:在概念结构设计的基础上,在一定的原则指导下将概念模式(E-R图)转换为某个具体DBMS支持的数据模型相符合的、经过优化的逻辑结构,其中用对数据逻辑结构进行优化采用范式理论。 物理设计:为逻辑数据结构选取一个最适合应用环境的物理结构,包括存储结构和存取方法等。

数据库第10、11章习题及答案

第10、11章练习题(数据库恢复技术及并发控制) 一、选择题 1.( C )是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。 A.程序 B.命令 C.事务D.文件 2.事务的原子性是指( A )。 A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的 C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 3.事务的一致性是指( D )。 A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据为的改变是永久的 C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 4.事务的隔离性是指( C )。 A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的 C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 5.事务的持续性是指( B )。 A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的 C.一个事力内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 6.若数据库中只包含成功事务提交的结果,则此数据库就称为处于( B )状态。 A.安全B.一致C.不安全D.不一致 7.若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为( B )。 A.事务故障B.系统故障C.介质故障D.运行故障 8.若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为( C )。 A.事务故障B.系统故障C.介质故障D.运行故障 9.( B )用来记录对数据库中数据进行的每一次更新操作。 A.后援副本B.日志文件C.数据库D.缓冲区 10.用于数据库恢复的重要文件是( C )。 A.数据库文件B.索引文件C.日志文件D.备注文件 11.数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括( C )。 A.数据字典、应用程序、审计档案、数据库后备副本 B.数据字典、应用程序、日志文件、审计档案 C.日志文件、数据库后备副本 D.数据字典、应用程序、数据库后备副本 12.设有两个事务T1、T2,其并发操作如下所示,下面评价正确的是( B )。 A.该操作不存在问题 13.设有两个事务T1、T2,其并发操作如下所示,下面评价正确的是( C )。 A.该操作不存在问题 14.设有两个事务T1、T2,其并发操作如下所示,下列评价正确的是( D )。 A.该操作不存在问题

深入理解数据库并发控制原理

并发控制原理 事务之间的相互影响可能导致数据库状态的不一致,即使各个事务能保持状态的正确性,而且也没有任何故障发生。因此,不同事务中各个步骤的执行顺序必须以某种方式进行规范。控制这些步骤的功能由DBMS的调度器部件完成,而保证并发执行的事务能保持一致性的整个过程称为并发控制。调度器的作用如图1所示。 首先讨论如何保证并发执行的事务能保持数据库状态的正确性。抽象的要求称为可串行性,另外还有一个更强的、重要的条件为冲突可串行性,它是大多数调度器所真正实现的。我们考虑实现调度器的最重要技术:封锁、时间戳和有效性确认。 1.串行调度和可串行化调度 1.1 调度 调度是一个或多个事务的重要操作按时间排序的一个序列。

1)事务T所写的任意数据元素A被赋予一个值,该值以这样一种方式依赖于数据库状态,即不会发生算术上的巧合。 1.5 事务和调度的一个记法 我们接受事务所进行的精确计算可以是任意的,那么我们不需要考虑像t := t+100这样的局部计算步骤。只有事务的读和写需要考虑。因此,我们将用一种新的记法来表示事务和调度,其中动作有rT(X)和wT(X)分别表示事务T读和写数据库元素X。 例5 表1所示的事务可以写为: T1: r1(A); w1(A); r1(B);w1(B); T2: r2(A); w2(A); r2(B);w2(B); 表5中T1和T2的可串行化调度。这一调度写为: r1(A); w1(A); r2(A); w2(A); r1(B);w1(B); r2(B);w2(B); 为使这一记法更精确: 1)动作是形如ri(X)或wi(X)的表达式,分别表示事务Ti读或写数据元素X。 2)事务Ti是具有下标i的动作序列。 3)事务集合T的调度S是一个动作序列,其中对T中的每个事务Ti,Ti中的动作在S中出现的顺序和其在Ti自身定义出现的顺序一样。我们说S是组成它的事务动作的一个交错。 2.冲突可串行化

数据库实验报告_事务和并发控制

1.实验七:事务与并发控制 1.1.实验目的 1.掌握事务机制,学会创建事务。 2.理解事务并发操作所可能导致的数据不一致性问题,用实验展现四种数据不一致性 问题:丢失修改、读脏数据、不可重复读以及幻读现象。 3.理解锁机制,学会采用锁与事务隔离级别解决数据不一致的问题。 4.了解数据库的事务日志。 1.2.实验内容 假设学校允许学生将银行卡和校园卡进行绑定,在student数据库中有如下的基本表,其中校园卡编号cardid即为学生的学号: icbc_card(studcardid,icbcid,balance) //校园卡ID,工行卡ID,银行卡余额 campus_card(studcardid,balance) //校园卡ID,校园卡余额 数据创建的代码: use student create table campus_card ( studcardid Char(8) , balance Decimal(10,2)) create table icbc_card ( studcardid Char(8), icbcid Char(10), balance Decimal(10,2) )

insert into campus_card values('20150031', 30) insert into campus_card values('20150032', 50) insert into campus_card values('20150033', 70) insert into icbc_card values('20150031','2015003101', 1000) insert into icbc_card values('20150032','2015003201', 1000) insert into icbc_card values('20150033','2015003301', 1000) 针对以上数据库按照要求完成下列实验: 1.编写一个事务处理(begin tran)实现如下的操作:某学号为20150032的学生要从银 行卡中转账200元到校园卡中,若中间出现故障则进行rollback。(15分)set transaction isolation level repeatable read

《数据库技术与应用》第9章 并发控制 习题答案

第9章并发控制 1. 试述DBMS中采用并发控制的目的。 解: 并发控制是以事务为单位进行的。DBMS中的并发控制的目的是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。 2. 试述共享锁和排他锁的含义。 解: 排它锁又称为写锁。排他锁是最严格的一类封锁,当需要对表进行插入、删除或更新操作时,应该使用排他锁。当一个事务对某数据加上排他锁后,其他事务不得对该数据对象施加任何封锁。 共享锁又称为读锁。当一个事务队某数据对象加上共享锁后,其他事务可以读取该数据,不能对该数据对象做任何修改。共享锁可以保证最大的并发性,任何数量的用户可以同时对相同的数据施加共享锁。 3. 试述死锁是如何产生的,列举一些常见的预防死锁的方法。 解: 产生死锁的原因是两个或多个事务都锁定了一些数据库对象,然后又都需要锁定对方的数据库对象失败而需要等待所造成的。 预防死锁通常有两种方法: 一次封锁法和顺序封锁法。一次封锁法要求每个事务一次就将要操作的数据库对象全部锁定,否则就不继续执行。该方法会降低系统的并发度。 顺序封锁法要求预先对数据库对象规定一个封锁顺序,所有事务都按这个顺序来实行封锁。该方法算法复杂,成本高。 4. 简述数据库系统中经常用到检测和解除死锁的方法。 解: 数据库系统中检测死锁一般使用超时法或事务等待图法。 数据库管理系统一般采用如下方法来解除死锁:在循环等待的事务中,选择一个事务作为牺牲者,给其他事务“让路”。回滚牺牲的事务,释放其获得的锁及其他资源。将释放的锁让给等待它的事务。 5. 简述多粒度封锁的含义以及优点。 解: 同时支持多种锁定粒度供事务选择的封锁方法叫做多粒度封锁。其中,封锁对象可以是数据库、表、记录、列、索引等的逻辑单元,也可以是数据页或索引页、块等的物理单元。 采用多种粒度封锁能够提高并发度和减少锁的数量。 6. 试述意向锁的含义,简要介绍几种常见的意向锁。 解: 意向锁的含义是,如果对一个节点加某种意向锁,则会对该节点的各级下级节点加这种锁;如果对一个节点加某种锁,则必须先对该节点的各级上级节点加这种意向锁。 常见的意向锁有:意向共享锁(IS锁)、意向排他锁(IX锁)、共享意向排他锁(Share SIX锁)

数据库系统概论之并发控制

An Introduction to Database Systems 管理学院信息管理系 数据库系统概论 An Introduction to Database System 第十一章 并发控制

An Introduction to Database Systems 问题的产生 ?多用户数据库系统的存在 允许多个用户同时使用的数据库系统 ?飞机定票数据库系统?银行数据库系统 特点:在同一时刻并发运行的事务数可达数百个

问题的产生(续)?不同的多事务执行方式 (1)事务串行执行 ?每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行 ?不能充分利用系统资源,发挥数据库共享资源的特点 T1 T2 T3 事务的串行执行方式 An Introduction to Database Systems

An Introduction to Database Systems 问题的产生(续) (2)交叉并发方式(Interleaved Concurrency ) ?在单处理机系统中,事务的并行执行是这些并行事务的并行操作轮流交叉运行?单处理机系统中的并行事务并没有真正地并行运行,但能够减少处理 机的空闲时间,提高系统的效率

An Introduction to Database Systems 问题的产生(续) (3)同时并发方式(simultaneous concurrency ) ?多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个事务,实现多个事务真正的并行运行

An Introduction to Database Systems 问题的产生(续) ?事务并发执行带来的问题 ?会产生多个事务同时存取同一数据的情况 ?可能会存取和存储不正确的数据,破坏事务一致性和数据库的一致性

数据库并发控制

数据库就是一个共享资源,可以提供多个用户使用。这些用户程序可以一个一个地串行执行,每个时刻只有一个用户程序运行,执行对数据库的存取,其她用户程序必须等到这个用户程序结束以后方能对数据库存取。但就是如果一个用户程序涉及大量数据的输入/输出交换,则数据库系统的大部分时间处于闲置状态。因此,为了充分利用数据库资源,发挥数据库共享资源的特点,应该允许多个用户并行地存取数据库。但这样就会产生多个用户程序并发存取同一数据的情况,若对并发操作不加控制就可能会存取与存储不正确的数据,破坏数据库的一致性,所以数据库管理系统必须提供并发控制机制。并发控制机制的好坏就是衡量一个数据库管理系统性能的重要标志之一。 DM用封锁机制来解决并发问题。它可以保证任何时候都可以有多个正在运行的用户程序,但就是所有用户程序都在彼此完全隔离的环境中运行。 一、并发控制的预备知识 (一) 并发控制概述 并发控制就是以事务(transaction)为单位进行的。 1、并发控制的单位――事务 事务就是数据库的逻辑工作单位,它就是用户定义的一组操作序列。一个事务可以就是一组SQL语句、一条SQL语句或整个程序。 事务的开始与结束都可以由用户显示的控制,如果用户没有显式地定义事务,则由数据库系统按缺省规定自动划分事务。 事务应该具有4种属性:原子性、一致性、隔离性与持久性。 (1)原子性 事务的原子性保证事务包含的一组更新操作就是原子不可分的,也就就是说这些操作就是一个整体,对数据库而言全做或者全不做,不能部分的完成。这一性质即使在系统崩溃之后仍能得到保证,在系统崩溃之后将进行数据库恢复,用来恢复与撤销系统崩溃处于活动状态的事务对数据库的影响,从而保证事务的原子性。系统对磁盘上的任何实际数据的修改之前都会将修改操作信息本身的信息记录到磁盘上。当发生崩溃时,系统能根据这些操作记录当时该

数据库第四、五章习题及答案

第4、5章练习题(数据库的安全性、完整性) 一、选择题 1.下面哪个不是数据库系统必须提供的数据控制功能。 A.安全性B.可移植性C.完整性D.并发控制答案:B 2.保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。这是指数据的。 A.安全性B.完整性C.并发控制D.恢复答案:A 3.数据库的是指数据的正确性和相容性。 A.安全性B.完整性C.并发控制D.恢复答案:B 4.在数据系统中,对存取权限的定义称为。 A.命令 B.授权 C.定义 D.审计答案:B 5.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的。 A.可靠性B.一致性C.完整性D.安全性答案:D 6.下列SQL语句中,能够实现“收回用户ZHAO对学生表(STUD)中学号(XH)的修改权”这一功能的是A.REVOKE UPDATE(XH) ON TABLE FROM ZHAO B.REVOKE UPDATE(XH) ON TABLE FROM PUBLIC C.REVOKE UPDATE(XH) ON TABLE STUD FROM ZHAO D.REVOKE UPDATE(XH) ON STUD FROM PUBLIC答案:C 7.把对关系SC的属性GRADE的修改权授予用户ZHAO的SQL语句是 A)GRANT GRADE ON SC TO ZHAO B)GRANT UPDATE ON SC TO ZHAO C)GRANT UPDATE (GRADE) ON SC TO ZHAO D)GRANT UPDATE ON SC (GRADE) TO ZHAO 答案:C 8.以下( D )不属于实现数据库系统安全性的主要技术和方法。 A. 存取控制技术 B. 视图技术 C. 审计技术 D. 出入机房登记和加锁 9.SQL中的视图提高了数据库系统的( D )。 A. 完整性 B. 并发控制 C. 隔离性 D. 安全性 10.安全性控制的防范对象是( B ),防止他们对数据库数据的存取。 A.不合语义的数据B.非法用户C.不正确的数据D.不符合约束数据 11.在数据库系统中,保证数据及语义正确和有效的功能是() A.并发控制 B.存取控制 C.安全控制 D.完整性控制答案:D 12.关于主键约束以下说法错误的是() A. 一个表中只能设置一个主键约束 B.允许空值的字段上不能定义主键约束 C.允许空值的字段上可以定义主键约束 D.可以将包含多个字段的字段组合设置为主键答案:C 13.在表或视图上执行除了()以外的语句都可以激活触发器。 A.Insert B. Delete C. Update D. Create 答案:D 14.数据库的____是指数据的正确性和相容性。 A.安全性 B.完整性 C.并发控制 D.恢复答案:B 15.在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的________约束。 A.实体完整性B、参照完整性C、用户自定义D、用户操作答案:C 16.如果学生表STUDENT是使用下面SQL的语句创建的 CREATE TABLE STUDENT (SNO char(4) PRIMARY KEY, SNAME char(8), SEX char(2), AGE int CHECK(AGE>15 AND AGE<30) ) 则下面的语句中可以正确执行的是( A ) A.INSERT INTO STUDENT(SNO,SEX,AGE)values(‘S9’,’男’,17) B.INSERT INTO STUDENT(SNO,SEX,AGE)values(‘S9’,‘男’,14) C.INSERT INTO STUDENT(SNO,SEX,AGE)values(‘男’,20) D.INSERT INTO STUDENT(SNO,SEX,AGE)values(‘S9’,‘安琦’16) 17.在数据库中删除触发器使用( B )。 A.ROLLBACK B.DROP C.DELALLOCATE D.DELETE 二、填空题

相关主题
文本预览
相关文档 最新文档