首页
登录
从业资格
某航空售票系统负责所有本地起飞航班的机票销售,并设有多个机票销售网点。以下为E-
某航空售票系统负责所有本地起飞航班的机票销售,并设有多个机票销售网点。以下为E-
免费题库
2022-08-02
49
问题
某航空售票系统负责所有本地起飞航班的机票销售,并设有多个机票销售网点。以下为E-SQL编写的部分售票代码: EXEC SQL SELECT balance INTO:x FROM tickets WHERE flight=:flightno; printf("航班%s当前剩余机票数为:%d\n请输入购票数:", flightno,x); scanf("%d",&a); EXEC SQL UPDATE tickets SET balance =x =:a WHERE flight=:flightno;请根据上述描述,完成下列问题。【问题1】上述售票程序,在并发状态下,可能发生什么错误?产生这种错误的原因是什么?【问题2】若将上述代码封装成一个完整的事务,则:(1)在并发请求下的响应效率会存在什么问题?(2)分析产生效率问题的原因。(3)给出解决方案。【问题3】下面是改写的存储过程,其中flightno为航班号;a为购票数;result为执行状态:1表示成功,0表示失败;表tickets中的剩余机票数balance具有大于等于零约束。请补充完整。CREATE PROCEDRUE buy_ticket(char[]flightno IN,( a ), int result 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会被分解为读取剩余票数到变量、修改变量、写入数据库几个步骤,并发时存在指令交叉,造成一个程序的修改被其他程序所覆盖,称为丢失修改错误。如下面所示的一个并发调度:
若上面所示的两个售票程序并发执行,两个程序先读取剩余票数据A(当前值为16)T1购票1张后,写入剩余票数为15,T2购票2张后,写入剩余票数为14。T1写入的15被T2写入的14所覆盖,T1所做的修改丢失。上述两个程序单独执行或串行执行都不会出现这种错误,错误产生的原因在于事务并发执行时受到另一事务的干扰,破坏了事务的隔离性。【问题2】封装的事务由两条SQL语句构成,中间存在与用户的交互,等待用户输入购票张数,会造成长事务,加锁状态下,其他购票事务程序会长时间等待,严重影响系统的响应速度。应将查询票数从事务中分离出来,UPDATE指令独立构成一个事务。【问题3】这是一个用存储过程实现购票的事务程序,存储过程参数部分给出了航班号和执行状态返回参数,应加入购票张数作为参数;修改剩余票数的UPDATE语句处需补充的是当前票数减去购票张数;SQL语句执行错误时应该进行事务回滚并退出程序,所有事务代码执行完成后提交,并返回。
转载请注明原文地址:https://tihaiku.com/congyezige/2419067.html
本试题收录于:
中级 数据库系统工程师题库软件水平考试初中高级分类
中级 数据库系统工程师
软件水平考试初中高级
相关试题推荐
在Telnet中,程序的(33)。A.执行和显示均在本地计算机上 B.执行和显
在Windows操作系统中,哪一条命令能够显示ARP表项信息?()A.di
在数据传输系统中用来描述二进制码元被传错概率的术语是()A.误码率 B.丢包
ISO定义的网络管理功能中,()的功能包括对网络系统资源吞吐率、使用率、误码
TCSEC将计算机系统的安全等级划分为4个等级,其中Unix和WindowsN
ISO定义的网络管理功能中,_______的功能包括初始化被管理对象、更改系统配
以下关于电子邮件系统的叙述中,正确的是_____。A.发送邮件和接收邮件都使用S
运行()命令后,显示本地活动网络连接的状态信息。A.tracert B.ne
在Windows系统中,系统对用户组默认权限由高到低的顺序是(请作答此空)。如
下列()命令不能用来重启Linux操作系统。A.shutdown B.
随机试题
ThemultipleEuropeanviewpointsareafunctionofthefollowingEXCEPT______.[
Testswithartificialstarshaveprovedthatcertainnight-flyingbirdsareable
[originaltext]M:LookatthelowpricesonthesefashionableTVsets.Something
X线通过人体后 在胶片上产生潜影、经过____、____和____等手续后。在
间接凝集反应的灵敏度要比直接凝集反应高:()A.1~2倍 B.2~8倍
先天性巨结肠分型诊断最有意义的检查方法是A.肛门指诊 B.肛门直肠测压 C.
2015年,我国规模以上电子信息产业企业个数6.08万家,其中电子信息制造企业1
下表为2008年我国对日本、俄罗斯两国的出口、进口额(单位:亿美元)及其增长速度
甲公司对投资性房地产采用公允价值模式进行后续计量。2×20年3月1日,该公司将一
实施产业技术政策的目的是促进产业的总体化扶持和推进产业高端化发展,属于产业技术政
最新回复
(
0
)