题目内容

试题五(共15 分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某航空售票系统负责所有本地起飞航班的机票销售,并设有多个机票销售网点。各售票网点使用相同的售票程序。假设售票程序中用到的伪指令如下表5-1所示:
假设某售票网点一次售出a张航班A 的机票,则售票程序的伪指令序列为: R (A, x); W (A, x – a)。根据上述业务及规则,完成下列问题:
【问题1】(5 分)
若两个售票网点同时销售航班A的机票,在数据库服务器端可能出现如下的调度:
A:R1(A, x),R2(A, x),W1(A, x – 1),W2(A, x – 2);
B:R1(A, x),R2(A, x),W2(A, x – 2),W1(A, x – 1);
C:R1(A, x),W1(A, x – 1),R2(A, x),W2(A, x – 2);
其中Ri(A, x),Wi(A, x)分别表示第i个销售网点的读写操作,其余类同。
假设当前航班 A 剩余 10 张机票,分析上述三个调度各自执行完后的剩余票数,并指出错误的调度及产生错误的原因。
【问题2】(6 分)
(1)判定事务并发执行正确性的准则是什么?如何保证并发事务正确地执行?
(2) 引入相应的加解锁指令,重写售票程序的伪指令序列,以保证正确的并发调度。
【问题3】(4 分)
下面是用E-SQL实现的机票销售程序的一部分,请补全空缺处的代码。
EXEC SQL SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
EXEC SQL SELECT balance INTO :x FROM tickets WHERE flight = ‘A’ ;
printf("航班A 当前剩余机票数为:%d\n请输入购票数:", x );
scanf("%d", &a);
x = x – a ;
if (x<0)
EXEC SQL ROLLBACK WORK;
printf("票数不够,购票失败!");
else{
EXEC SQL UPDATE tickets SET (a) ;
if (SQLCA.sqlcode <> SUCCESS)
EXEC SQL ROLLBACK WORK;
else
(b) ;
}

查看答案
更多问题

企业转让无形资产使用权时,如果合同或协议规定一次性收取使用费,且不提供后续服务的,应视同销售该项无形资产一次性确认收入。()

甲公司向乙公司转让某软件的使用权,一次性收取使用费50000元,并提供后续服务,甲公司在收取费用时确认其他业务收入50000元。()

营业收入包括主营业务收入、其他业务收入、营业外收入等。()

案例三
某施工单位与业主签订了某综合楼工程施工合同。经过监理方审核批准的施工进度网络图如下图所示(时间单位:月),假定各项工作均匀施工。
在施工中发生了如下事件:
事件一:因施工单位租赁的挖土机大修,晚开工2天。
事件二:基坑开挖后,因发现了软土层,施工单位接到了监理工程师停工的指令,拖延工期10天。
事件三:在主体结构施工中,因连续罕见特大暴雨,被迫停工3天。
问题:
1. 分别指出图中的关键工作及关键线路。
2. 求出总工期是多少个月?
3. 施工单位对上述哪些事件向业主要求工期索赔成立,哪些不成立?并说明理由。
4. 施工单位决定采用工期-成本调整法进行工期压缩调整,请问工期-成本调整法的调整原则是什么?

答案查题题库