在GATE 2012考试中提出了以下问题。
1)考虑以下数据项P和Q初始化为零的事务:
T1: read (P) ;
read (Q) ;
if P = 0 then Q : = Q + 1 ;
write (Q) ;
T2: read (Q) ;
read (P) ;
if Q = 0 then P : = P + 1 ;
write (P) ;
T1和T2用于并发执行的任何非串行交织都会导致
(A)可序列化的时间表
(B)不可冲突的时间表可序列化
(C)可序列化的冲突时间表
(D)无法绘制优先图的时间表
答案(B)
如果发生以下情况, 则两个或多个动作发生冲突:
1)动作属于不同的交易。
2)至少一个动作是写操作。
3)动作访问相同的对象(读或写)。
如果满足以下条件, 则说时间表S1和S2是冲突等效的:
1)进度表S1和S2都涉及同一组事务(包括每个事务中的动作顺序)。
2)S1和S2中每对冲突动作的顺序相同。
当日程表与一个或多个串行日程表冲突等效时, 该日程表被称为可冲突序列化。
资源:时间表的Wiki页面
在给定的情况下, 有两种可能的串行时间表:
1)T1跟着T2
2)T2之后是T1。
在这两个串行计划中, 其中一个事务首先读取其他事务写入的值。因此, T1和T2的任何非串行交织都不会冲突可序列化。
2)考虑以下关系A, B, C。以下关系代数表达式的结果包含多少个元组?假设A U B的架构与A的架构相同。
Table A
Id Name Age
----------------
12 Arun 60
15 Shreya 24
99 Rohit 11
Table B
Id Name Age
----------------
15 Shreya 24
25 Hari 40
98 Rohit 20
99 Rohit 11
Table C
Id Phone Area
-----------------
10 2200 02
99 2100 01
(A)7
(B)4
(C)5
(D)9
答案(A)
Result of AUB will be following table
Id Name Age
----------------
12 Arun 60
15 Shreya 24
99 Rohit 11
25 Hari 40
98 Rohit 20
The result of given relational algebra expression will be
Id Name Age Id Phone Area
---------------------------------
12 Arun 60 10 2200 02
15 Shreya 24 10 2200 02
99 Rohit 11 10 2200 02
25 Hari 40 10 2200 02
98 Rohit 20 10 2200 02
99 Rohit 11 99 2100 01
98 Rohit 20 99 2100 01
3)考虑上面的表A, B和C。以下SQL查询的结果包含多少个元组?
SELECT A.id
FROM A
WHERE A.age> ALL (SELECT B.age
FROM B
WHERE B. name = "arun")
(A)4
(B)3
(C)0
(D)1
答案(B)
” ALL”的含义是A.Age应该大于子查询返回的所有值。表B中没有名称为” arun”的条目。因此, 子查询将返回NULL。如果子查询返回NULL, 则条件对于A的所有行都为true(请参见
这个
有关详细信息)。因此, 选择了表A的所有行。
请参阅门角适用于所有上一年的论文/解决方案/说明, 课程提纲, 重要日期, 注释等。
如果你发现任何答案/解释不正确, 或者你想分享有关上述主题的更多信息, 请写评论。
评论前必须登录!
注册