题目详情

某航空售票系统负责所有本地起飞航班的机票销售,并设有多个机票销售网点。以下为E-SQL编写的部分售票代码:

中级数据库系统工程师,历年真题,2015年上半年《数据库系统工程师》案例分析真题

请根据上述描述,完成下列问题:

【问题1】(5分)

上述售票程序,在并发状态下,可能发生什么错误?产生这种错误的原因是什么?

【问题2】(6分)

若将上述代码封装成一个完整的事务,则:

(1)在并发请求下的响应效率会存在什么问题?

(2)分析产生效率问题的原因。

(3)给出解决方案。

【问题3】(4分)

下面是改写的存储过程,其中flightno为航班号;a为购票数;result为执行状态:1表示成功,0表示失败;表tickets中的剩余机票数balance具有大于等于零约束。请补充完整。

CREATE PROCEDRUE buy_ticket(char[] flightno IN, (a) , int resuit OUT)

AS

BEGIN

.........

UPDATE tickets SET balance= (b)

WHERE flight= flightno;

if (SQLcode<>SUCCESS) { //SQLcode为SQL语句的执行状态

(c) ;

result = 0; return;

COMMIT;

(d)

END

正确答案及解析

正确答案
解析

本题考查事务基本概念及编程应用。

此类题目要求考生认真阅读题目对实际问题的描述,分析现实业务中存在的问题,并以事务的方式提出解决方案及编程中的处理方式。

【问题 1】

根据题目描述的售票程序及部分代码,程序的逻辑是正确的,但在并发状态下,可能会产生错误。修改指令 UPDATE 会被分解为读取剩余票数到变量、修改变量、写入数据库几个步骤,并发时存在指令交叉,造成一个程序的修改被其他程序所覆盖,称为丢失修改错误。如下面所示的一个并发调度:

中级数据库系统工程师,历年真题,2015年上半年《数据库系统工程师》案例分析真题

若上面所示的两个售票程序并发执行,两个程序先读取剩余票数据 A( 当前值为 16)T1购票1张后,写入剩余票数为 15,T2 购票 2 张后,写入剩余票数为 14。T1写入的 15被T2写入的 14 所覆盖,T1所做的修改丢失。

上述两个程序单独执行或串行执行都不会出现这种错误,错误产生的原因在于事务并发执行时受到另一事务的干扰,破坏了事务的隔离性。

【问题 2】

封装的事务由两条 SQL 语句构成,中间存在与用户的交互,等待用户输入购票张数, 会造成长事务,加锁状态下,其他购票事务程序会长时间等待,严重影响系统的响应速度。

应将查询票数从事务中分离出来,UPDATE 指令独立构成一个事务 。

【问题3】

这是一个用存储过程实现购票的事务程序,存储过程参数部分给出了航班号和执行状态返回参数,应加入购票张数作为参数:修改剩余票数的 UPDATE语句处需补充的是当前票数减去购票张数;; SQL 语句执行错误时应该进行事务回滚并退出程序,所有事务代码执行完成后提交,并返回。

包含此试题的试卷

你可能感兴趣的试题

单选题

Advancements in ( )have contributed to the growth of the automotive industry through the creation and evolution of self-driving vehicles.

  • A.Artificial Intelligence
  • B.Cloud Computing
  • C.Internet of Things
  • D.Big Data
查看答案
单选题

In project human resource management , ( )is not a source of power for the project manager.

  • A.referent power
  • B.expert power
  • C.reward power
  • D.audit power
查看答案
单选题

At the project establishment stage , the feasibility study mainly includes techinical feasibility analysis , ( ), operation environment feasibility analysis and other aspects of feasibility analysis.

  • A.detail feasibility analysis
  • B.opportunity analysis
  • C.economic feasibility analysis
  • D.risk analysis
查看答案
单选题

( )is a grid that shows the project resources assigned to each work package.

  • A.Stakeholder engagement assessment matrix
  • B.Requirements traceability matrix
  • C.Probability and impact matrix
  • D.Responsibility assignment matrix
查看答案
单选题

Xinhua News Agency reported in January 2022,Chian will further promote the developmet of a digital economy during the 14th Five-Year Plan eriod(2021-2025). The plan also emphasized industrial ( )transformation.

  • A.digital
  • B.networking
  • C.intelligentize
  • D.informatization
查看答案

相关题库更多 +