GATE CS 2007考试中提出了以下问题。
1)通过该关系可以得出有关学生集合的信息
studinfo(studId, 姓名, 性别)
。关系
报名(studId, courseId)
给出哪个学生已注册(或修读)了该课程。假设每门课程至少由一名男生和至少一名女生上课。以下关系代数表达式代表什么?
(A)所有女学生入学的课程。
(B)招收适当的女学生的课程。
(C)仅招收男生的课程。
(D)以上都不是
答案(B)
有问题的表达式按顺序执行以下步骤。
a)选择
研究
所有女学生并选择全部
课件
所有课程。
b)然后查询执行
笛卡尔积
上面的选项从不同的表中选择两列。
c)最后减去
注册
上面步骤(b)的结果的表格。这将删除所有(
研究了课程
)存在于
注册
表。如果所有女学生都已注册某门课程, 则减去的结果将不会显示该门课程。
因此, 完整的表达式返回的课程将招收适当数量的女学生。
studinfo table
studid name sex
------------------------
1 a Male
2 c Female
3 d Female
enroll table
studid courseid
------------------
1 1
2 1
3 1
2 2
3 3
3 2
Result of step b
studid courseid
---------------------
2 1
2 2
2 3
3 1
3 2
3 3
Result of step c
studid courseid
-------------------
2 3
2)考虑名称为键的雇员(姓名, 性别, 主管姓名)关系。 SupervisorName给出了正在考虑的雇员的主管名称。以下元组关系演算查询产生什么?
(A)具有男性主管的雇员姓名。
(B)没有直属男性下属的雇员的姓名。
(C)没有直属女性下属的雇员的姓名。
(D)带有女性主管的雇员姓名。
答案(C)
该查询选择所有直接下属为”男性”的员工。换句话说, 它选择没有直属女性下属的员工姓名
3)考虑表employee(empId, 姓名, 部门, 薪水)和下面的两个查询Q1, Q2。假设部门5有一个以上的雇员, 并且我们想找到比部门5中任何一个人的薪水都高的雇员, 那么对于任何任意一个雇员表, 哪一个陈述是正确的?
Q1 : Select e.empId
From employee e
Where not exists
(Select * From employee s where s.department = "5" and
s.salary>=e.salary)
Q2 : Select e.empId
From employee e
Where e.salary> Any
(Select distinct salary From employee s Where s.department = "5")
(A)Q1是正确的查询
(B)Q2是正确的查询
(C)Q1和Q2产生相同的答案。
(D)Q1和Q2都不是正确的查询
答案(B)
让雇员(empId, 姓名, 部门, 薪水)具有以下实例。
empId名称部门薪水
——————————————
e1 ——- A ——– 1 ——- 10000
e2 ——- B ——- 5 ———— 5000
e3 ——- C++——- 5 ——– 7000
e4 ——- D ——- 2 ——– 2000
e5 ——- E ——- 3 ——– 6000
现在, 实际结果应包含empId:e1, e3和e5(因为它们的薪水高于部门” 5″中的任何员工)
——————————————————
现在第一季度:
注意:EXISTS(空集)为FALSE, 而NOT EXISTS(空集)为TRUE。
选择e.empId
来自员工e
不存在的地方
(选择*从员工那里, 其中s.department =” 5″, 然后
s.salary> = e.salary)
Q1将仅产生empId e1。
————————————————————
而第二季度:
选择e.empId
来自员工e
电子薪金>任何
(从雇员的s。部门=” 5″的地方选择不同的工资)
Q2将得出empId e1, e3和e5。
——————————————————
因此, Q2是正确的查询。
4)如果为FALSE, 则以下哪一项陈述?
(A)具有两个属性的任何关系都在BCNF中
(B)2NF中每个键只有一个属性的关系
(C)素数属性可以可传递地依赖于3 NF关系中的键。
(D)素数属性可以可传递地依赖于BCNF关系中的键。
答案(D)
5)考虑以下涉及两个事务的时间表。下列哪个陈述是正确的?
(A)S1和S2都是可冲突序列化的。
(B)S1是冲突可序列化的, 而S2不是冲突可序列化的。
(C)S1不是冲突可序列化的, 而S2是冲突可序列化的。
(D)S1和S2都不冲突可序列化。
答案(C)
S1不是冲突可序列化的, 但是S2是冲突可序列化的
Schedule S1
T1 T2
---------------------
r1(X)
r1(Y)
r2(X)
r2(Y)
w2(Y)
w1(X)
The schedule is neither conflict equivalent to T1T2, nor T2T1.
Schedule S2
T1 T2
---------------------
r1(X)
r2(X)
r2(Y)
w2(Y)
r1(Y)
w1(X)
The schedule is conflict equivalent to T2T1.
如果你发现任何答案/解释不正确, 或者你想分享有关上述主题的更多信息, 请发表评论
评论前必须登录!
注册