当前位置: 首页 > news >正文

山东大学软件学院 2026 年数据库系统期末考试回忆版

ER图相比前几年要更复杂一些

一、简答题

1. SQL 查询优化与语法树

给出SQL 语句,要求画出该查询的语法树,并直接给出优化后的语法树。(忘了,反正很简单)

2. 多值依赖

给定关系模式R(A, B, C),已知多值依赖:

A ->> B

现已知关系中包含以下 3 个元组:

(a, b1, c1) (a, b2, c2) (a, b3, c2)

问:根据多值依赖的定义,表中至少还应包含哪些元组?

3. SQL 中的 NULL 判断

找出age > 20的人。如果age属性存在NULL,这些元组是否会出现在查询结果中?请说明理由。

4. 时间戳

考察时间戳相关内容。有两个事务T1T2,时间戳分别为:

TS(T1) = 10 TS(T2) = 20

T1先写某数据项XT2再读数据项X。此后如果T1回滚,T2需要做什么?原因是什么?

5. 组合索引的使用

现有顺序索引:

index(userid, time)

请判断以下查询条件能否使用该索引,并说明原因。

WHEREuserid+1=100;
WHEREuserid=100ANDtimeLIKE'2006-12%';

6. 两阶段封锁协议

有两个事务T1T2

T1: read(X), read(Y), X = Y + 1, write(X) T2: read(Y), read(X), Y = X + 1, write(Y)

请使用两阶段封锁协议(2PL),使这两个事务能够并发执行,并避免冲突。

二、E-R 图设计(约 11 分)

某学校有如下实体和关系。要建立一个科研数据库,请根据描述绘制 E-R 图并转换为关系模式。

原题中各个实体给了非常非常多的属性,最后画的全是气球((,回忆不清了,但是都是无关属性,核心都在下面。在试卷上根本画不开,总之最后画的ER图非常丑陋且奇怪
这个题难点我认为在于ISA,也就是教师和学生,虽然老师似乎明确说过不考ISA,但是这个题如果不给教师和学生建一个父类的话,会非常丑陋,而且我觉得真实数据库也不可能这样设计,所以我在考试中为教师和学生建了一个父类,人员表,优雅多了。至于科研成果,我觉得就没有必要去建父类了。

  • 教师:属性包括工号、姓名、年龄、所属学院。
  • 学生:属性包括学号、姓名;每个学生只有一位导师,导师为教师。
  • 项目:属性包括项目编号、项目名称、起止日期;每个项目有一个负责人(教师),有多个参与人员(教师或学生),参与时需要记录角色,如主持人、成员、骨干等。
  • 科研成果:科研成果包括论文和专利;一个项目可以关联多个科研成果,一个科研成果也可以由多个项目产出。
  • 论文:属性包括 DOI 号、期刊名称;论文可由教师或学生共同创作,需要记录作者排序、是否为通讯作者。
  • 专利:属性包括专利号、类型、起始日期、截止日期;发明者可以是教师或学生,需要记录发明者排名。

三、规范化(10 分)

给定关系模式:

R(A, B, C, D)

函数依赖集:

F = { A -> C, C -> A, B -> AC, D -> AC, BD -> C }

1. 3NF 判断与分解

判断R是否属于第三范式(3NF)。

  • 如果属于 3NF,请给出理由。
  • 如果不属于 3NF,请将其分解为 3NF,并要求分解保持无损连接且保持依赖。

2. BCNF 判断与分解

判断R是否属于 BCNF。

  • 如果属于 BCNF,请给出理由。
  • 如果不属于 BCNF,请将其分解为 BCNF,并要求分解保持无损连接。

四、关系代数与 SQL 语句(25 分)

给定以下关系模式:

customer(cid, cname, city, gender, age) route(rid, rname, agency, price) cr(cid, rid, opid)

说明:

  • customer表示游客。
  • route表示旅游路线。
  • cr表示游客选择或购买旅游路线的记录。
  • agency表示旅行社。
  • opid表示销售员编号。

1. 查询同价路线

请找出所有路线名称,其价格与“北京三日游”这条路线相同。

要求给出:

  • 关系代数表达式
  • SQL 语句

2. 统计销售员在各路线上的游客量

请求出各个销售员针对每条旅游路线成功销售的游客数量。

要求:

  • 给出关系代数表达式和 SQL 语句。

3. 查询未被特定游客选择的路线

请给出所有没有被以下游客选择的旅游路线:

居住在北京,年龄大于 30,男性

要求给出:

  • 关系代数表达式
  • SQL 语句

4. 查询购买中青旅路线的游客

请求出所有购买了旅行社为“中青旅”的全部旅游路线的游客编号。

要求给出:

  • 关系代数表达式
  • SQL 语句

5. 查询购买路线最少的游客

请给出所有游客中购买旅游路线最少的游客编号,并按游客编号降序排序。

要求给出 SQL 语句。

6. 更新购买人数少于 10 的路线价格

对所有少于 10 个顾客购买的旅游路线,其价格下调 10%。

要求给出 SQL 语句。

复习提示

这份回忆版覆盖的重点比较集中,主要包括:

  • SQL 查询优化与语法树优化。
  • 多值依赖、3NF、BCNF 与规范化分解。
  • NULL 参与比较运算时的三值逻辑。
  • 时间戳协议、回滚与级联回滚。
  • 组合索引的最左前缀、表达式条件与范围匹配。
  • E-R 图中的多对多关系、弱/强约束、联系属性和继承/分类建模。
  • 关系代数、分组聚合、反查询、最值查询和更新语句。

本文为回忆整理版,适合复习时查缺补漏。祝好运~

http://www.cnnetsun.cn/news/3161526.html

相关文章:

  • Burp Suite入门指南:从零掌握Web抓包与安全测试核心功能
  • 多模型统一接入实战:Agent 开发如何用一套 API 搞定 DeepSeek、Qwen、GLM、Llama?
  • redis的aof方式恢复
  • Java安全管理器实战:从零构建OJ判题机安全沙箱
  • Windows EFS加密文件重装系统后恢复全攻略:原理、场景与实操
  • 抖音无水印视频下载终极指南:三步搞定批量下载难题
  • 影刀RPA新手教程:Python协同入门完全指南——不会Python也能在影刀里用Python
  • AI攻防时代:智能风控如何应对自动化攻击新范式
  • 标称网格的地理经纬度
  • HCI 功能规范【4.8. Versioned events】
  • 总目录 2026版国家级全领域科研痛点攻关
  • 第25篇:数据安全:从“边界防护”到“纵深防御”
  • 关于C++多重继承下虚表结构的问题
  • Redis分布式锁进阶第三十七篇
  • 奇迹 MU 剑与翼手游官网下载:奇迹 MU 剑与翼最新官方下载渠道
  • SRC漏洞挖掘入门:8种实战姿势与零基础进阶路径
  • Three.js 城市光影教程
  • 数学的本质是什么?——数学为什么如此不可思议地有效-龍德明宇
  • 主动推理-信息组织
  • SpringBoot3.x新特性解读与迁移指南
  • 影刀RPA深度教程:异常处理与调试完全指南
  • 泳池设备品牌哪家好
  • 《欠你的那场婚礼》 台剧|在线观看|电视剧|夸克|下载|豆瓣
  • 嵌入式系统2x2矩阵键盘设计与74HC32应用
  • 模型回滚流程:版本能切回去,数据也要对得上
  • LangGraph 工作流:用业务场景检验技术取舍
  • 2026年GEO贴牌代理源码解构:核心状态机深度拆解
  • SpringBoot项目从开发到部署的完整指南
  • Java分布式架构设计方法
  • Allegro PCB设计环境搭建与高速布线实战指南