数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社第8章

更新时间:2023-07-21 00:48:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

习题88.1答: 数据库的安全性是指保护数据库,以防止不合法的使用 数据泄密、更改或破坏。 8.2 数据库安全性和计算机系统的安全性有什么关系? 8.2答: 数据库安全性是计算机系统的安全性的一部分,数据库 系统不仅要利用计算机系统的安全性保证自己系统的安 全性,同时还会提供专门的手段和方法,使安全性能更 好。例如,在用户要求进入计算机系统时,系统首先根 据用户输入的用户标识进行身份鉴定,只有合法的用户 才准许进入计算机系统;对已进入的用户,DBMS还要 进行存取控制,只允许用户执行合法操作;操作系统也 会提供相应的保护措施;数据最后还可以以密码形式存 储到数据库中。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.3答: ① 用户标识与鉴别;② 存取控制;③ 自主存取控制方 法;④ 强制存取控制方法;⑤ 视图机制;⑥ 审计;⑦ 数据加密。 8.4答: ① GRANT(授权)语句 例:GRANT SELECT,INSERT ON 学生 TO 张勇 WITH GRANT OPTION; ② REVOKE(收回) 语句 例:REVOKE INSERT ON 学生 FROM 张勇;

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.5答: 数据库的完整性是指数据的正确性和相容性。

8.6答: 数据库的完整性是指数据的正确性和相容性。数据 库的安全性是指保护数据库,以防止不合法的使用 造成的数据泄密、更改或破坏。其相同点是两者都 是对数据库中的数据进行控制,各自所实现的功能 目标不同。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.7答: 数据完整性约束是为了保证进入数据库中的数据的有效性 而定义的数据规则。它可以分为以下两类: ① 针对不同的对象可以分为表级约束、元组级约束和属性 级约束(也称列约束):表级约束是若干元组间、关系中 及关系之间的约束;元组级约束则是元组中的字段组和字 段间联系的约束;属性级约束主要是针对列的类型、取值 范围、精度、排序等而制定的约束条件。 ② 针对数据对象的状态可以分为静态约束和动态约束:静 态约束是指数据库每一确定状态时的数据对象所应满足的 约束条件,它是反映数据库状态稳定时的约束;动态约束 是指数据库从一种状态转变为另一种状态时,新、旧值之 间所应满足的约束条件,它是反映数据库状态变迁的约束。 8.8答: ① 定义和存储完整性功能;② 检查完整性功能;③ 控制完 整性功能。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.9答: ① 外码能够接受空值的问题; ② 在被参照关系中删除元组时,采用级联删除、受限删除 或置空值删除的方法处理参照关系; ③ 在参照关系中插入元组时,可以使用受限插入、递归插 入两种方法处理参照关系; ④ 修改关系的主码时,可以采用不允许修改主码、或允许 修改关系主码,但必须保证主码的惟一性和非空性方法处 理参照关系; ⑤ 修改被参照

关系时,可以采用级联修改、拒绝修改和置 空值修改方法处理参照关系。

8.10答: 数据库的并发控制就是为了控制数据库,防止多用户并发 使用数据库时造成数据错误和程序运行错误,保证数据的 完整性。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.11答: 并发操作可能会产生丢失修改、不可重复读和读 “脏”数据的数据不一致问题。用封锁的方法能 避免这些不一致的情况。 8.12什么是封锁? 8.12答: 封锁是使事务对它要操作的数据有一定的控制能 力。封锁具有三个环节:第一个环节是申请加锁; 第二个环节是获得锁;第三个环节是释放锁。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.13答: 基本的封锁类型有两种:排它锁(简称X锁)和共享锁(简 称S锁)。 排它锁也称为独占或写锁。一旦事务T对数据对象A加上排 它锁,则只允许T读取和修改A,其他任何事务既不能读取 和修改A,也不能再对A加任何类型的锁,直到T释放A上的 锁为止。 共享锁又称读锁。如果事务T对数据对象A加上共享锁,其 他事务只能再对A加S锁,不能加X锁,知道事务T释放A上 的S锁为止。 8.14答: 封锁机制作为并发控制的重要手段,利用封锁的特性和封锁 协议,它在并发操作保证事务的隔离性,用正确的方式调度 并发操作,是一个用户事务的执行不受其他事务的干扰,从 而避免造成数据的不一致性。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.15什么是封锁协议?不同级别的封锁协议的主要区别是什么? 答: 在对数据对象加锁时,还需要约定一些规则,这些规则称为封锁协议。 一级封锁协议:是事务T在修改数据之前必须先对其加X锁,直到事 务结束才释放,一级封锁协议可有效地防止丢失修改,并能够保证事 务T的可恢复性。一级封锁由于没有对数据进行加锁,所以不能保证 可重复读和不读“脏”数据。 二级封锁协议:是事务T对要修改的数据必须先加X锁,直到事务结 束才释放X锁;要读取的数据必须先加S锁,读完后即可释放S锁。二 级封锁协议不但能够防止丢失修改,还可进一步防止读“脏”数据。 三级封锁协议:是事务T在读取数据之前必须先对其加S锁,在要修 改数据之前必须先对其加X锁,直到事务结束后才释放所有锁。由于 三级封锁协议强调即使事务读完数据A之后也不释放S锁,从而使得 别的事务无法更改数据A。三级封锁协议不但防止了丢失修改和不读 “脏”数据,而且防止了不可重复的读。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.16不同封锁协议与系统一致性级别的关系是什么? 答: 一级封锁协议可有效地防止丢失修改,并能够保证事务T的可恢复性。 一级封锁由于没有对数据进行加锁,所以不能保证可重复读和不读 “脏”数据。 二级封锁协议不但能够防止丢失修改,还可进一步防止读“脏”数

据。 由于三级封锁协议强调即使事务读完数据A之后也不释放S锁,从而使 别的事务无法更改数据A。三级封锁协议不但防止了丢失修改和不读 “脏”数据,而且防止了不可重复读。 8.17 什么是活锁?什么是死锁? 答: 在多个事务请求对同一数据封锁时,总是使某一用户等待的情况称为 活锁;多事务交错等待的僵持局面称为死锁。 8.18试述活锁的产生原因和解决方法。 答: 活锁是封锁的无序造成的。解决方法是采用先来先服务的方法,即对 要求封锁数据的事务排队,使前面的事务先获得数据的封锁权。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.19请给出预防死锁的若干方法。 答:预防死锁通常有以下两种方法:① 一次封锁法,就是要求每个事 务必须一次将所有要使用的数据全部加锁,否则该事务不能继续执行; ② 顺序封锁法,是预先对数据对象规定一个封锁顺序,所有事务都按 这个顺序实行封锁。 8.20 请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁? 答:检测死锁发生的一种方法是选择一个处理死锁代价最小的事务, 将其撤销,释放此事务持有的所有锁,使其他事务得以继续运行下去。 解除死锁问题有两类方法:一类方法是采用一定措施来预防死锁的发 生;另一类方法是允许发生死锁,然后采用一定手段定期诊断系统中 有无死锁,若有则解除之。 8.21什么样的并发调度是正确的调度? 答:如果一个事务运行过程中没有其他事务同时运行,即没有受到其 他事务的干扰,那么就可以认为该事务的运行结果是正常的,可串行 性是并发事务正确性的准则,为了保证并发操作的正确性,DBMS的 并发控制机制必须提供一定的手段来保证调度是可串行化的。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.22 试述两段锁协议的概念。 答:所谓两段锁协议是指所有事务必须分两个阶段对数据项进行加 锁和解锁:① 在对任何数据进行读、写操作之前,首先要申请并获 得对该数据的封锁;② 在释放一个封锁之后,事务不再申请并获得 对该数据的封锁。 即每个事务分成两个阶段,第一阶段是申请和获得封锁,也称为扩 展阶段。在这阶段,事务可以申请获得任何数据项上的任何类型的 锁,但是不能释放任何锁。第二阶段是释放封锁,也称为收缩阶段。 在这阶段,事务可以释放任何数据项上的任何类型的锁,但是不能 再申请任何锁。 8.23为什么要引进意向锁?意向锁的含义是什么? 答:事务T要对关系R1加X锁时,系统只需检查根结点数据库和关系 R1是否已加了不相容的锁,而不再需要搜索和检查R1中的每一个元 组是否加了X锁,对任一元组加锁,必须先对它所在的关系加意向锁。 意向锁的含义是:如果对一个结点

加意向锁,则说明该结点的下层 结点正在被加锁;对任何一结加锁时,必须先对它的上层结点加意 向锁。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.24理解并解释下列术语的含义:封锁、活锁、死锁、排它锁、共享锁、 并发事务的调度、可串行化的调度、两段锁协议。 答: ① 封锁:封锁是使事务对它要操作的数据有一定的控制能力。 ② 活锁:这种在多个事务请求对同一数据封锁时,总是使某一用户等 待的情况称为活锁。 ③ 死锁:这种多事务交错等待的僵持局面称为死锁。 ④ 排它锁:排它锁也称为独占或写锁。一旦事务T对数据对象A加上排 它锁,则只允许T读取和修改A,其他任何事务既不能读取和修改A, 也不能再对A加任何类型的锁,直到T释放A上的锁为止。 ⑤ 共享锁:共享锁又称读锁。如果事务T对数据对象A加上共享锁,其 他事务只能再对A加S锁,不能加X锁,知道事务T释放A上的S锁为止。 ⑥ 并发事务的调度:多个事务并发执行调度策略称为并发事务的调度。 ⑦ 可串行化的调度:如果多个事务并发执行的结果与按串行执行的结 果相同,这种调度策略称为可串行化的调度。 ⑧ 两段锁协议:所谓两段锁协议是指所有事务必须分两个阶段对数据 项进行加锁和解锁。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.25 说明数据不一致性中读“脏”数据的含义。 答: 事务T1修改了某一数据并将其写回数据库,随后T2读入这个被T1修改 过的数据,然而,T1由于某种原因被撤销了,于是它所修改的数据恢 复原值。这样一来,T2所读取的数据就与数据库中的数据不同了,这 种现象就称为读“脏”数据。 8.26 事务中的提交和回滚是什么意思? 答: 事务中的提交(COMMIT)是提交事务的所有操作。具体说就是将事 务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常 结束。 事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态。 具体地说就是,在事务运行的过程中发生了某种故障,事务不能继续 执行,系统将事务中对数据库的所有已完成的更新操作全部撤消,使 数据库回滚到事务开始时的状态。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.27 为什么要进行数据库转储,比较各种数据转储方法? 答: 所谓转储即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存 起来的过程。这些备用的数据文本称为后备副本或后援副本。当数据 库遭到破坏后可以将后备副本重新装入,但重装后备副本只能将数据 库恢复到转储时的状态,要想恢复到故障发生时的状态,必须重新运 行自转储以后的所有更新事务。 转储可分为静态转储和动态转储。静态转储是在系统中无运行事务时 进行的转储操作。显然,静态转储得到的一定是一个数据一致性的副 本,转储简

单,但转储必须等待正运行的用户事务结束才能进行,会降 低数据库的可用性。动态转储是指转储期间允许对数据库进行存取或 修改。必须把转储期间各事务对数据库的修改活动登记下来,建立日 志文件,后援副本加上日志文件就能把数据库恢复到某一时刻的正确 状态。 转储还可以分为海量转储和增量转储两种方式。海量转储是指每次转 储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。 从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来会更 方便些。但如果数据库很大,事务处理又十分频繁,则增量转储方式 更实用更有效。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.28并发控制可能会产生哪几类数据不一致?用什么方法能避免各种 不一致的情况? 答: 并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读 “脏”数据。产生上述三类数据不一致性的主要原因是并发操作破坏 了事务的隔离性。并发控制就是要用正确的方式调度并发操作,使一 个用户事务的执行不受其它事务的干扰,从而避免造成数据的不一致 性。并发控制的主要技术是封锁(Locking)。 8.29试解释“并发调度可串行化”这个概念。 答: 事务并发调度的执行结果与某一串行调度的执行结果等价,称为“并 发调度是可串行化的”。 8.30数据库的并发控制与数据库的恢复之间,有些什么联系? 答: 如果采用封锁机制,事务并发操作时有可能产生死锁。为了解除死锁 状态,就要抽取某个事务作牺牲品,把它撤消掉,做回退操作,这就 属于DB的恢复范畴。

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.31答: 1)GRANT SELECT ON 职工,部门 TO 王明 WITH GRANT OPTION; 2)GRANT INSERT, DELETE ON职工,部门 TO 李勇 WITH GRANT OPTION; 3)GRANT SELECT, UPDATE(工资) ON职工 TO 刘星 WITH GRANT OPTION; 4)GRANT ALTER TABLE TO 张新 WITH GRANT OPTION; 5)GRANT ALL PRIVILIGES ON职工,部门 TO 周平 WITH GRANT OPTION; 6)CREATE VIEW 部门工资统计(最高工资,最低工资,平均工资) AS SELECT MAX(工资),MIN(工资),AVG(工资) FROM 职工 GROUP BY 部门号; GRANT SELECT ON部门工资统计 TO 杨兰;

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.32把上题中1)~6)的每个用户所授予的权力予以撤消。 答: 1)REVOKE SELECT ON 职工,部门 FROM 王明; 2)REVOKE INSERT, DELETE ON职工,部门 FROM 李勇; 3)REVOKE SELECT, UPDATE(工资) ON职工 FROM 刘星 4)REVOKE ALTER TABLE FROM 张新 5)REVOKE ALL PRIVILIGES ON职工,部门 FROM 周平 6)REVOKE SELECT ON 部门工资统计 TO 杨兰;

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.33答: CREATE TABLE职工(职工号 CHAR(5) PRIMARY KEY, 姓名 CHAR(8) NOT NULL, 年龄 SMALLINT, 职务 CHAR(10), 工资 DECIMAL(7,2), 部门号CHAR(5), CONSTRAINT C1 CHECK(年龄 <60), CONSTRAINT C2 FOREIGN KEY(部门号) REFERENCES 部门

(部门号)); CREATE TABLE部门(部门号 CHAR(5) PRIMARY KEY, 名称CHAR(16), 经理名CHAR(8), 电话CHAR(8), CONSTRAINT C3 FOREIGN KEY(经理名) REFERENCES 职工(姓名));

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

8.34答案 D8.35答案 C

8.43答案 D 8.44答案 C 8.45答案 A 8.49答案 A

8.52答案 C 8.53答案 D

8.36答案 C8.37答案 B 8.38答案 A 8.39答案 D

8.47答案 D 8.48答案 D 8.46答案 C8.50答案 D 8.51答案 C

8.40答案 D 8.41答案 B8.42答案 C

数据库系统原理及应用教程第四版课后答案(苗雪兰 刘瑞新) 机械工业出版社

本文来源:https://www.bwwdw.com/article/bhu1.html

Top