考试日期:2023.6.27
一、简答题
1.延迟更新机制,为什么只需要取新值
2.简述串行调度和可串行化调度的区别
3.根据SQL语句写出关系代数优化语法树
4.主码能是空吗?为什么
5.给出一个索引,求最坏代价,并解释为什么
6.时间戳排序协议,读写起始的时间戳都是20,事务a的时间戳是30,事务b的时间戳是34,事务a和事务b各读一次,问最后的Q-timestamp是多少,为什么
二、设计题
(1)ER图与关系模式
项目:项目号,项目名称,起始年份,资助额
教师:工号,教师姓名,职称
学生:学号,姓名,年级
一个项目只能有一个负责人,一个老师可以负责多个项目。一个老师可以参与多个项目,学生只能参与一个项目,一个项目可以有多个学生和老师参与,学生在进行项目的时候需要去机房做实验。
画出ER图
转化成关系模式
(2)给出许多函数依赖,问是否是3NF,若是给出原因,若不是分解成3NF。问是否是BCNF,若是给出原因,若不是分解成BCNF。
三、计算题
ebook(ebid,ebname,price,……)
ceb(cid,ebid,date,……)
customer(cid,cname,city,street,……)
求年龄小于三十男性借书的名称(写出SQL语句和关系代数表达式)
求北京 的用户没借过的书(写出SQL语句和关系代数表达式)
求与“数据库系统”这本书价格相同书的编号和名称(写出SQL语句和关系代数表达式)
求每个用户都借过的书(写出SQL语句和关系代数表达式)
求购买数量最多的书(写出SQL语句)
将销量超过10000的书价格提高10%(写出SQL语句)
四、JDBC相关
使用JDBC连接数据库,用JAVA和SQL 将75-80分的成绩提高10%,将90分以上的成绩-5分。
相似度90%,只有一小部分记不起来了。