GATE CS 2010考试中提出了以下问题。
1)下面给出了火车预订数据库的关系模式。
乘客(pid, pname, 年龄)
预约(pid, class, tid)
Table: Passenger
pid pname age
-----------------
0 Sachin 65
1 Rahul 66
2 Sourav 67
3 Anil 69
Table : Reservation
pid class tid
---------------
0 AC 8200
1 AC 8201
2 SC 8201
5 AC 8203
1 SC 8204
3 AC 8202
对于上面的表实例, 以下SQL查询返回哪些pid?
SLECT pid
FROM Reservation , WHERE class ‘AC’ AND
EXISTS (SELECT *
FROM Passenger
WHERE age> 65 AND
Passenger. pid = Reservation.pid)
(A)1、0
(B)1、2
(C)1、3
(小)1, 5
答案(C)
当子查询使用外部查询的值时, 该子查询将被调用
相关子查询
。对于外部查询处理的每一行, 对关联子查询进行一次评估。
外部查询从保留表中选择4个条目(PID为0、1、5、3)。在这些选定的条目中, 子查询仅返回1和3的Non-Null值。
2)下列哪些并发控制协议可确保冲突的可串行性和避免死锁的能力?
I.两相锁定
二。时间戳排序
(A)我只
(B)仅II
(C)我和我
(D)我和我都不
答案(B)
2相锁相(2PL)
是一种确保可序列化的并发控制方法。该协议利用交易施加到数据的锁, 这可能会阻止(解释为停止信号)其他交易在交易期间访问同一数据。 2PL可能导致死锁, 这是由于两个或多个事务的相互阻塞而导致的。看到以下情况, T3和T4都无法取得进展。
基于时间戳的并发控制
算法是一种非锁定并发控制方法。在基于时间戳的方法中, 因为没有事务等待, 所以不会发生死锁。
3)考虑事务T1, T2和T3的以下时间表:
以下哪个调度是上述正确的序列化?
(A)T1→T3→T2
(B)T2→T1→T3
(C)T2→T3→T1
(D)T3→T1→T2
答案(A)
T1可以在T2和T3之前完成, 因为在上图中, T1的Write(X)与T2和T3中的操作(发生在T1的Write(X)之前)之间没有冲突。
T3应该在T2之前完成, 因为T3的Read(Y)与T2的Read(Y)不冲突。同样, T3的Write(X)与T2的Read(Y)和Write(Y)操作没有冲突。
解决此问题的另一种方法是创建一个依赖图, 并对拓扑图进行拓扑排序。经过拓扑排序后, 我们可以看到序列T1, T3, T2。
4)对于关系R(A, B, C)和S(B, D, E), 以下哪个函数依赖项成立:
B→A,
A→C
关系R包含200个元组, 而关系S包含100个元组。是什么
自然连接R◊◊S(R自然连接S)中可能的最大元组数
(A)100
(B)200
(D)300
(D)2000
答案(A)
从给定的功能依赖性集合中, 可以看出B是R的候选键。因此B的所有200个值在R中必须是唯一的。没有为S给出功能依赖性。要获得最大的元组数输出, S有两种可能。
1)S中B的所有100个值都相同, 并且R中有一个与此值匹配的条目。在这种情况下, 我们得到100个元组的输出。
2)S中B的所有100个值都不同, 并且这些值也存在于R中。同样在这种情况下, 我们得到100个元组。
请参阅门角适用于所有上一年的论文/解决方案/说明, 课程提纲, 重要日期, 注释等。
如果你发现任何答案/解释不正确, 或者你想分享有关上述主题的更多信息, 请写评论。
来源:
https://www.srcmini02.com/69002.html