数据库管理系统常见问题介绍|S9

GATE 2006 CS考试中提出了以下问题。
1)考虑以下两个在银行帐户上的交易的对数顺序, 初始余额为12000, 将2000转移到抵押付款中, 然后应用5%的利息。

1. T1 start2. T1 B old=12000 new=100003. T1 M old=0 new=20004. T1 commit5. T2 start6. T2 B old=10000 new=105007. T2 commit

假设数据库系统在即将写入日志记录7之前崩溃。重新启动系统后, 恢复过程中哪一项是正确的?
(A)我们必须重做日志记录6以将B设置为10500
(B)必须撤消日志记录6以将B设置为10000, 然后重做日志记录2和3
(C)我们不需要重做日志记录2和3, 因为事务T1已提交
(D)我们可以按任意顺序应用重做和撤消操作, 因为它们是幂等的。
答案(B)
2)考虑注册关系(学生, 课程), 其中(学生, 课程)是主键, 支付关系(学生, 金额), 其中学生是主键。假定没有空值, 也没有外键或完整性约束。给出以下四个查询:
Query1: select student from enrolled where student in (select student from paid)Query2: select student from paid where student in (select student from enrolled)Query3: select E.student from enrolled E, paid P where E.student = P.studentQuery4: select student from paid where exists(select * from enrolled where enrolled.student = paid.student)

下列哪种说法是正确的?
(A)所有查询针对任何数据库返回相同的行集
(B)Query2和Query4对所有数据库返回相同的行集, 但存在Query1和Query2返回不同行集的数据库。
(C)存在一些数据库, 其中Query3返回的行比Query2严格少。
(D)存在一些查询数据库在运行时会遇到完整性违规的数据库。
答案(B)
举个例子:
Table enrolledstudentcourse---------------- abcc1 xyzc1 abcc2 pqrc1Table paidstudentamount----------------- abc20000 xyz10000 rst10000Output of Query 1 abc abc xyzOutput of Query 2 abc xyzOutput of Query 3 abc xyzOutput of Query 4 abc xyz

查询1和查询3可能返回重复的学生值, 因为” 学生” 不是已注册关系中的关键字, 但是查询2和查询4始终返回相同的行集。
因此, 选项(B)是正确的。
3)考虑注册关系(学生, 课程), 其中(学生, 课程)是主键, 而付费关系(学生, 金额), 其中学生是主键。假定没有空值, 也没有外键或完整性约束。假设分别由20%的学生支付了6000、7000、8000、9000和10000的金额。考虑这些查询计划(左侧的计划1, 右侧的计划2)以” 列出支付了x的学生所修读的所有课程” 。
数据库管理系统常见问题介绍|S9

文章图片
磁盘寻道需要4毫秒, 磁盘数据传输带宽为300 MB/s, 检查元组以查看数量是否大于x需要10微秒。下列哪种说法是正确的?
(A)计划1和计划2不会为所有数据库输出相同的行集。
【数据库管理系统常见问题介绍|S9】(B)对于某些数据库, 一门课程可能在计划1的输出中被列出多次
(C)对于x = 5000, 对于所有数据库, 计划1的执行都比计划2的执行快。
(D)对于x = 9000, 对于所有数据库, 计划I的执行均比计划2慢。
答案(C)
假设有足够大的内存可用于所有需要的数据。这两个计划都需要加载两个表课程并进行注册。因此, 两个计划的磁盘访问时间相同。
与计划1相比, 计划2进行的比较次数更少。
1)联接操作将需要更多的比较, 因为与计划1相比, 计划2中的第二个表将有更多行。
2)两个表的联接表将具有更多的行, 因此需要更多的比较才能找到大于x的数量。
4)给出以下功能依赖性:
AB → CD, AF → D, DE → F, C → G , F → E, G → A

以下哪个选项是错误的?
(A)CF + = {ACDEFG}
(B)BG + = {ABCDG}
(C)AF + = {ACDEFG}
(D)AB + = {ABCDFG}
答案(C)
关闭AF或AF + = {ADEF}, 则关闭AF不包含C和G。
选项(D)看起来也正确。 AB + = {ABCDG}, AB的结尾不包含F。
请参阅门角适用于所有上一年的论文/解决方案/说明, 课程提纲, 重要日期, 注释等。
如果你发现任何答案/解释不正确, 或者你想分享有关上述主题的更多信息, 请写评论。

    推荐阅读