以下问题已在 GATE 2009 CS 考试中提出。
1) 考虑两个事务 T1 和 T2,以及 T1 和 T2 的四个调度 S1、S2、S3、S4,如下所示:
T1 = R1[X] W1[X] W1[Y]
T2 = R2[X] R2[Y] W2[Y]
S1 = R1[X] R2[X] R2[Y] W1[X] W1[Y] W2[Y]
S2 = R1[X] R2[X] R2[Y] W1[X] W2[Y] W1[Y]
S3 = R1[X] W1[X] R2[X] W1[Y] R2[Y] W2[Y]
S1 = R1[X] R2[Y]R2[X]W1[X] W1[Y] W2[Y]
上面哪个时间表是冲突可序列化的?
(A) S1 和 S2
(B) S2 和 S3
(C) 仅 S3
(D) 仅 S4
答案 (B)
可以有两个可能的串行调度 T1 T2 和 T2 T1。串行调度 T1 T2 具有以下操作顺序
R1[X] W1[X] W1[Y] R2[X] R2[Y] W2[Y]
并且调度T2 T1具有以下操作顺序。
R2[X] R2[Y] W2[Y] R1[X] W1[X] W1[Y]
调度 S2 与 T2 T1 冲突等效,S3 与 T1 T2 冲突等效。
2) 令 R 和 S 是关系方案,使得 R={a,b,c} 和 S={c}。现在考虑
对数据库的以下查询:
IV) SELECT R.a, R.b
FROM R,S
WHERE R.c=S.c
以上哪个查询是等价的?
(A) I 和 II
(B) I 和 III
(C) II 和 IV
(D) III 和 IV
答案 (A)
I 和 II 分别描述了关系代数和元组关系微积分中的除法运算符。有关更多详细信息,请参阅本页 3 和幻灯片编号 9,10。
3) 考虑以下关系模式:
Suppliers(sid:integer, sname:string, city:string, street:string)
Parts(pid:integer, pname:string, color:string)
Catalog(sid:integer, pid:integer, cost:real)
考虑对上述数据库的以下关系查询:
SELECT S.sname
FROM Suppliers S
WHERE S.sid NOT IN (SELECT C.sid
FROM Catalog C
WHERE C.pid NOT IN (SELECT P.pid
FROM Parts P
WHERE P.color<> 'blue'))
假设上述模式对应的关系不为空。以下哪一项是上述查询的正确解释?
(A) 找出所有供应过非蓝色零件的供应商的名称。
(B) 找出所有未提供非蓝色零件的供应商的名称。
(C) 找出所有只供应蓝色零件的供应商的名称。
(D) 找出所有不只供应蓝色零件的供应商的名称。
答案 (A)
子查询“ SELECT P.pid FROM Parts P WHERE P.color<> ‘blue’ ”给出非蓝色部分的pid。更大的子查询“ SELECT C.sid FROM Catalog C WHERE C.pid NOT IN (SELECT P.pid FROM Parts P WHERE P.color<> ‘blue’) ”给出了所有供应蓝色零件的供应商的sid 。完整的查询给出了所有提供非蓝色零件的供应商的名称
4)假设在上面的供应商关系中,一个城市内的每个供应商和每条街道都有一个唯一的名称,并且(sname,city)形成一个候选键。除了主键和候选键隐含的那些依赖之外,没有其他隐含的函数依赖。关于上述模式,以下哪一项是正确的?
(A) 模式在 BCNF 中
(B) 模式在 3NF 但不在 BCNF
(C) 模式在 2NF 但不在 3NF
(D) 模式不在 2NF 中
答案 (A)
一个关系在 BCNF 中,如果对于它的每个依赖项 X ? Y,至少满足以下条件之一:
X ? Y is a trivial functional dependency (Y ? X)
X is a superkey for schema R
由于 (sname, city) 形成了一个候选键,所以不存在非平凡依赖 X ? Y,其中 X 不是超级键
请参阅 GATE Corner 了解所有往年论文/解决方案/解释、教学大纲、重要日期、笔记等。