山东大学2022年6月27日软件学院数据库系统期末考试回忆
前言
1、考试时间:2022年6月27日 8:30-10:30
2、考试范围:前七章大多是计算、设计题,通常是试卷上第二大题、第三大题的考试内容,包括 SQL语句、关系代数、E-R图及其关系模式、BCNF的判断及分解、3NF的判断及分解,后面几章是简答题,包括 语法树、多值依赖、索引、恢复、串行并行、时间戳等,通常是试卷上第一大题的考试内容。
3、考题形式:(闭卷)全部为简答题、设计题、计算题,共三个大题。
4、分数:满分70分。(最终成绩是由期末考试成绩70%和实验成绩、平时作业成绩30%构成的)
考试内容
一、简答题(每题6分,共6*4=24分)
1、一个事务执行到一半时,由于外部因素导致系统宕机,那么在重新启动后应当如何做才能保证事务的一致性。
2、是否存在A->->C的多值依赖,为什么?
3、已知instructor(ID,name,dept_name,salary),根据下面的SQL语句写出语法树,及优化后的语法树。
select name
from instructor a,instructor b
where a.salary=b.salary and b.dept_name = ‘Comp.Sci’
4、关系中元组可以重复吗?为什么?
5、已知R(A,B,C),在属性(B,C)上添加索引,那么下面的语句是否用到这个索引,为什么?
select B
from R
where B = ‘b’
6、给出一个调度{TA,TB,TC},写出它在时间戳排序协议下的调度结果,为什么?
二、设计题(每题9分,共9*2=18分)
1、画出E-R图及关系模式:
一个公司管理车队、司机和车辆。车队需要关注的信息有:车队编号、车队名;司机的相关信息有:司机编号、司机姓名、司机手机号;车辆的相关信息有:车辆编号、厂家、出厂日期、使用年限。车队和司机间有“聘用”联系,一个车队可以管理多个司机,而一个司机只能属于一个车队,联系中有聘资的信息;车队和车辆之间有“拥有”联系,一个车队有多个车辆,而一个车辆只能属于一个车队;司机和车辆之间有“使用”联系,一个司机可以使用多个车辆,而一个车辆也可以被多个司机使用,联系中有年限、日期的信息。(9分)
2、规范化:
已知U(R,F),R(ABCDEG),F={AB->CD,ADE->GDE,B->CG,G->DE}
(1)是否属于3NF?如果属于,给出理由,如果不属于,将之分解成3NF并保持函数依赖、无损连接。(5分)
(2)是否属于BCNF?如果属于,给出理由,如果不属于,将之分解成BCNF。(4分)
三、根据要求写出SQL和关系代数(共4+4+6+6+3+3+2=28分)
supplier(sno,sname,city)
com(cno,cname,color,weight)
project(pno,pname,city)
spc(sno,cno,pno,city)
已知有供应商(supplier)、零件(com)、项目(project)、供应关系(spc)。供应商(supplier)有属性:供应商编号(sno)、供应商名称(sname)、供应商所在城市(city);零件(com)有属性:零件编号(cno)、零件名称(cname)、零件颜色(color)、零件重量(weight);项目(project)有属性:项目编号(pno)、项目名称(pname);供应关系(spc)有属性:供应商编号(sno)、项目编号(pno)、零件编号(cno)、供应地址(city)。
1、利用SQL以及关系代数,查询供应商所在地址为“北京”的供应商编号。(4分)
2、利用SQL以及关系代数,查询供应商所在地址为“北京”的零件编号。(4分)
3、利用SQL以及关系代数,查询没有选择所在地址为“北京”的供应商提供的零件的项目编号。(6分)
4、利用SQL以及关系代数,查询使用了项目编号为“p1”的项目所用的全部零件的项目编号。(6分)
5、利用SQL,查询提供零件数最多的供应商的编号。(3分)
6、利用SQL,查询比所有“红色”零件都重的零件编号。(3分)
7、利用SQL,删除供应了“红色”零件的供应商。(2分)
总结&&经验
考试试题回忆可能存在部分误差。
借鉴往年试题,可以看出,经常每年都考的内容有 SQL语句、关系代数、E-R图及其关系模式、BCNF的判断及分解、3NF的判断及分解,在试题第一大题通常是简答题,这一部分的变动相对比较大,主要考点包括语法树、多值依赖、索引、恢复、串行并行、时间戳、调度序列等。
点个赞呗~, 嘿嘿。
版权归原作者 南河的南 所有, 如有侵权,请联系我们删除。