山东大学软件学院数据库系统2022年春期末考试

山东大学软件学院数据库系统2022年春期末考试

时间:2022年6月27日 8:30-10:30

试卷满分:70分

简答题(6题*4分 = 24分)
  1. 在银行转账这一事务中,(1)a = a-100;(2) b = b +100;若执行完(1)后服务器宕机了,那么数据库系统是如何采取相应的操作来保持数据的一致性的呢?请说明。(本题题干较长,在这里做了相应转述)

    给个PPT上的例子(数值上有差距而已)

    image-20220627112938493
  2. 在这里插入图片描述

    (考查多值依赖)和本题几乎一致,改了个属性名而已(上图)

  3. 已知instructor(ID,sname,dept_name,salary). 写出下列SQL语句的语法树及其优化后的语法树。

    select sname
    	from instructor a,instructor b
    		where a.salary>b.salary and dept_name = 'Comp_Sci';
    
  4. 请说明一个关系中的元组之间是否存在顺序,为什么?

  5. 在一个关系R(A,B,C)上建立索引(B,C),我们采用B+树实现相应索引,问在执行下列SQL语句的时候是否用到了这个索引,为什么?

    select A
    	from r
    		where B = 'b1';
    

    SQL语句不记得具体表达了,反正有一个B=‘b1’.

  6. 问调度{TA,TB,TC}在时间戳排序协议下的调度结果,为什么?(大致表达了这个意思,题干具体的不记得了)

    TA(TS=1)TB(TS=2)TC(TS=3)
    R(A)
    W(A)
    R(A)
    W(A)
    R(B)
    W(B)
    R(B)
    R(B)
    R(A)
设计题(9分+9分 = 18分)
  1. 现有一个公司需要管理司机,车辆,车队;车队有车队号和车队名;司机由司机编号,姓名,性别;车辆有牌照号,车辆名,生产公司;一个车队有多辆车,每辆车仅属于一个车队;一个车队有多个司机,每个司机隶属于一个车队,其中为“雇佣关系”,有一个属性是“工作时间”;每个司机可以开多辆车,而每辆车可以由多个司机去驾驶,其中这个“开车”关系含有两个属性驾驶时间和xx属性(忘了,不影响理解)。(注:描述会有偏差,部分名词做了一定程度转换,不影响理解)

    (1)请依据以上描述画出E-R图;(5分)

    (2)请根据E-R图写出对应的关系模式;(4分)

  2. 已知关系模式R,U={A,B,C,D,E,G}, F = {AB->CD,ADE->GDE,B->CG,G->DE}.

    (1)问上述关系模式是否满足3NF,给出理由;若不满足给出3NF保持函数依赖和无损分解;(5分)

    (2)问上述关系模式是否满足BCNF,给出理由;若不满足给出BCNF的无损分解. (4分)

编写SQL语句题(28分)

本题与2021年春数据库试题高度相似,几乎没怎么改

supplier(sno,sname,city) sno有下划线
com(cno,cname,color,weight) cno有下划线
project(pno,pname,city) pno有下划线
spc(sno,cno,pno,qty) sno,cno,pno有下划线

其中supplier表示供应商,com表示零件,project表示项目,spc表示供应商,零件和项目之间的关联关系供应商向项目提供零件,qty表示零件的数目。一个供应商可以向多个项目提供多个零件;一个项目可以由多个供应商提供多个零件;一个零件可以被多个供应商供应给多个项目。根据上述关系完成下面的题目。

  1. 请选择供应商城市在"北京"的供应商编号(写出关系代数表达式和SQL语句,3分)
  2. 请选择供应商城市在"北京"的供应商提供的零件编号(写出关系代数表达式和SQL语句,3分)
  3. 查询没有选择供应商城市在"北京"的供应商提供的零件的项目编号(写出关系代数表达式和SQL语句,6分)
  4. 查询使用了与项目"p1"所使用相同零件的项目编号(写出关系代数表达式和SQL语句,6分)
  5. 查询零件数目最多的项目编号(写出SQL语句,3分)
  6. 查询比所有红色零件都重的零件编号(写出SQL语句,3分)
  7. 在supplier中删除提供了"红色"零件的供应商(写出SQL语句,2分/4分?忘了分值,不影响)

会议存在偏差,但不影响理解和复习。

附上2021年试题连接:

试题连接

祝学弟学妹们数据库都可以A+
  • 12
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值