小车底盘重W1,所有轮子共重W,半径为r,若车轮沿水平轨道滚动而不滑动,且滚动摩擦系数为δ,
试题五(共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) ;
}
杆OA绕O轴逆时针转动,均质圆盘沿OA杆纯滚动。已知圆盘的质量m=20kg,半径R=100mm。在题9-4图(a)所示位置时,OA杆的倾角为30,其角速度为w1=1rad/s,圆盘相对OA杆转动的角速度v2=4rad/s, B=mm,试求圆盘的动量。
设有关系模式W(C,P,S,C,T,R),其中各属性的含义是:C——课程,p——教师,S——学生,G——成绩,T——时间,R——教室,根据语义有如下数据依赖集:
D={C→4P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R}
关系模式w的一个码(关键字)是(39),W的规范化程度最高达到(40)。若将关系模式W分解为3个关系模式W1(C,P)、W2(S,C,G)、W3(S,T,R,C)。则W1的规范化程度最高达到(41),W2的规范化程序最高达到(42),W3的规范化程序最高达到(43)。
A.(S,C)
B.(T,R)
C.(T,P)
D.(T,S)
试题五(15 分 )
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
飞机票售票系统,可以同时为多个顾客提供售票服务。一次售票交易主要由查询(R)和购买(W)两个操作组成,而这两个操作之间的间隔可能需要几分钟。 现有两位顾客同时到达一号和二号售票窗口购买机票,一号窗口的查询和购买操作用R1和W1表示,二号窗口的查询和购买操作用R2和W2表示。
【 问题1】(5分)
根据问题描述,依照下面给出的处理序列,给出可能出现的所有序列。
(1)R1 ---------- W1 --------- R2 ---------- W2
【 问题2】(6分)
现假设航班 MU2211 只剩一张 2007 年 2 月 25 日的机票,并有两位顾客同时到达一号和二号售票窗口购买该票,请问在进行系统设计时,若不做必要的处理会产生什么问题?要避免该问题发生,应采用何种技术?
【问题3】(4分)
给出采取措施后可能出现的处理序列。
题7-16图(a)所示平面机构,杆OA长为l,以角速度w绕O轴转动从而带动半径为r的轮C沿水平直线作纯滚动。在图示位置,O,A和C三点在同一水平线上,a和β角已知。试求该瞬时轮C的角速度。
下列说法正确的是()。
A.共享数据的所有访问都必须作为临界区
B.用synchronized保护的共享数据可以是共有的
C.Java中对象加锁不具有可重人性
D.对象锁不能返回