个性化阅读
专注于IT技术分析

数据库管理系统常见问题合集|S11

GATE CS 2007考试中提出了以下问题。

1)通过该关系可以得出有关学生集合的信息

studinfo(studId, 姓名, 性别)

。关系

报名(studId, courseId)

给出哪个学生已注册(或修读)了该课程。假设每门课程至少由一名男生和至少一名女生上课。以下关系代数表达式代表什么?

数据库管理系统|S111

(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给出了正在考虑的雇员的主管名称。以下元组关系演算查询产生什么?

数据库管理系统|S112

(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)考虑以下涉及两个事务的时间表。下列哪个陈述是正确的?

数据库管理系统|S113

(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.

如果你发现任何答案/解释不正确, 或者你想分享有关上述主题的更多信息, 请发表评论

赞(0) 打赏
未经允许不得转载:srcmini » 数据库管理系统常见问题合集|S11
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏