首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。 【说明】 某图书馆的图书借还业务使用如下关系模式: 书目(ISBN,书名,出版社,在库数量) 图书(书号,ISBN,当前位置) 其中在库数量为当前书目可借出的图
阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。 【说明】 某图书馆的图书借还业务使用如下关系模式: 书目(ISBN,书名,出版社,在库数量) 图书(书号,ISBN,当前位置) 其中在库数量为当前书目可借出的图
admin
2017-09-14
61
问题
阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。
【说明】
某图书馆的图书借还业务使用如下关系模式:
书目(ISBN,书名,出版社,在库数量)
图书(书号,ISBN,当前位置)
其中在库数量为当前书目可借出的图书的数量,每本图书入库后都会有当前位置,借出后当前位置字段改为空值。每一条书目信息对应多本相同的图书,每一本图书只能对应一条书目。
借还书业务的基本流程如下描述:
(1)读者根据书名查询书目,当前书目的在库数量大于0时可借阅。
(2)读者借出一本图书时,进行出库操作:根据该图书的书号将该图书的当前位置字段值改为空值,并根据其ISBN号将对应书目的在库数量减1。
(3)读者归还一本图书时,进行入库操作:系统根据当前书架的空余位置自动生成该本书的存放位置,并根据该图书的书号将其当前位置字段值改为生成的存放位置,然后将对应书目的在库数量加1。
(4)借还书时,逐一扫描每本图书的书号并进行出、入库操作。
引入两个伪指令:a=R(X)表示将在库数量X值读入到变量a中;W(a,X)表示将变量a的值写入到在库数量X中。入库操作用下标I表示,出库操作用下标O表示。
将出库和入库操作分别定义为两个事务,针对并发序列:a
O
=R
O
(X),a
I
=R
I
(x),a
O
=a
O
-1,W
O
(a
O
,X),a
I
=a
I
+1,W
I
(a
I
,X)。其中变量a
I
和a
O
分别代表入库事务和出库事务中的局部变量。
(1)假设当前X的值为3,则执行完上述并发序列的伪指令后,X的值是多少?简述产生这一错误的原因(100字以内)。
(2)为了解决上述问题,引入独占锁指令XLock(X)对数据X进行加锁,解锁指令Unlock(X)对数据X进行解锁。入库操作用下标I表示,如XLocki(x);出库操作用下标O表示,如Unlocko(X)。请根据上述的并发序列,给出一种可能的执行序列,使其满足2PL协议。
选项
答案
(1)X的值为4。 该序列实现的是出库一本书和入库一本书两个事务的并发执行,其结果应该是3。错误原因在于出库时X的值2被随后的入库操作改成了4,出库操作的值被覆盖。这类问题称为丢失修改。 (2)加锁后的执行序列:XLock
O
(X),XLock
I
(X),a
O
=R
O
(X),a
O
=a
O
-1,W
O
(a
O
,X),Unlock
O
(X),a
I
=R
I
(X),a
I
=a
I
+1,W
I
(a
I
,X),Unlock
I
(X)。
解析
本题考查事务并发控制知识的应用和事务程序的编写技能。
(1)根据问题中给出的并发序列:“a
O
=R
O
(X),a
I
=R
I
(X),a
O
=a
O
-1,W
O
(a
O
,X),a
I
=a
I
+1,W
I
(a
I
,X)”及指令的说明,该序列为一个入库事务和一个出库事务的并发调度。X的当前值为3,执行完“a
O
=R
O
(X),a
I
=R
I
(X)”后,变量a
O
和a
I
的值均为3;执行完“a
O
=a
O
-1,W
O
(a
O
,X)”后,X的值被改为2;执行完“a
I
=a
I
+1,W
I
(a
I
,X)”后,X的值被改为4,即并发序列执行完后X的值。
这两个事务分别是同一书目下两本书的出库和入库操作。根据事务并发正确性的判定,其正确的必要条件是与某一次串行的结果相同。在X当前值为3的情况下,出库一本书和入库一本书,两个事务两种串行方式下,其结果都为3。因而题目给出的并发序列的执行结果是错误的。
错误原因在于出库事务的指令“W
O
(a
O
,X)”写入X的值后,被入库事务的指令“W
I
(a
I
,X)”所覆盖,即丢失修改错误,出库事务的修改丢失了。
(2)根据2PL协议的规定,在修改数据前需对该数据加独占锁,前提是在该数据上没有其他事务所加的锁,否则只能等待其他事务释放锁后再加锁。题目要求只加独占锁,因此出库事务的第一条语句“a
O
=R
O
(X)”前应有加锁语句“XLock
O
(X)”;入库事务第一条指令“a
I
=R
I
(X)”之前应有加锁语句“XLock
I
(X)”,但此时X上已有出库事务上的锁,故入库事务加锁被拒绝,只能等待,到出库事务释放锁之后才能加上锁,入库事务的后续指令才能得以执行。
转载请注明原文地址:https://kaotiyun.com/show/YuUZ777K
本试题收录于:
数据库系统工程师下午应用技术考试题库软考中级分类
0
数据库系统工程师下午应用技术考试
软考中级
相关试题推荐
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】A公司是一家为快消行业提供App开发解决方案的软件企业。项目经理范工承接了一个开发鲜花配送App的项目,项目需求非常明确,此前A公司承接过一个类似的项目,做得很成功,
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】A公司承接了某银行大型信息系统建设项目,任命张伟担任项目经理。该项目于2017年年初启动,预计2018年年底结束。项目启动初期,张伟任命项目成员李明担任项目
阅读下列说明,回答问题1至问题4,将答案填入答题纸的对应栏内。说明:A公司准备研发一款手机无线充电器,项目启动时间为2018年1月,项目整体交付时间为2018年6月,按照资源配置和专业分工,公司将项目初步拆为7个子项目,其中,项目A~C
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】2018年1月,某系统集成公司中标本市某地铁线路列车乘客信息系统项目,内容包括地铁公司运营中心节目播放控制软件、地铁列车节目接收软件及服务器、播放终端等硬件设施的搭建
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】2018年1月,某系统集成公司中标本市某地铁线路列车乘客信息系统项目,内容包括地铁公司运营中心节目播放控制软件、地铁列车节目接收软件及服务器、播放终端等硬件设施的搭建
阅读下列说明,回答问题,将解答填入答题纸的对应栏内。【说明】A公司中标某系统集成项目,正式任命王伟担任项目经理。王伟是资深的技术专家,在公司各部门具有较高的声望。接到任命后,王伟组建了项目团队。除服务器工程师小张是新招聘的外,其余项目组成员都是各个团
软件的维护并不只是修正错误。软件测试不可能揭露旧系统中所有潜伏的错误,所以这些程序在使用过程中还可能发生错误,诊断和更正这些错误的过程称为(24);为了改进软件未来的可维护性或可靠性,或者为了给未来的改进提供更好的基础而对软件进行修改,这类活动称为(25)
质量控制非常重要,但是进行质量控制也需要一定的成本。(42)可以降低质量控制的成本。
如下图所示,某公司局域网防火墙由包过滤路由器R和应用网关F组成,下面描述错误的是(13)。
一个产业的竞争状态取决于五种基本竞争力量:新竞争者的进入、替代品的威胁、买方的讨价还价能力、供应者的讨价还价能力以及(57)。
随机试题
非特异性投射系统的作用及特点包括()
干咳无痰,或痰少而粘,或痰冲带血,可见于
糖尿病引起的眼部并发症中没有
按发生机制,双吸气见于哪类呼吸困难
A.应分类相对集中存放,按批号及效期远近依次或分开堆码并有明显标志B.控制堆放高度,定期翻垛C.应分开存放D.应与其他药品分开存放E.专库或专柜存放并指定双人双锁保管、专账记录药品与非药品、内用药与外用药、处方药与非处方药之间()
锤击沉桩法正常打桩方式采用()。
宏大会计师事务所在接受华岳公司委托审计其2007年度财务报表时,委派A注册会计师为项目负责人,对于助理人员B提出的下列问题,请代A注册会计师做出正确的判断。
Researchshowsthateveryonedreamsquitefrequentlyeverynight.Weusuallyrememberjustthelastdreamthatwehadbefore【1】.
Theestablishmentofthemoderncorporatestructurestarted______.Alimitedliabilitycorporationprotectsinvestorsinthat
ThreeEnglishdictionariespublishedrecentlyalllayclaimtopossessinga"new"feature.TheBBCEnglishDictionarycontainsb
最新回复
(
0
)