news 2026/7/5 13:54:03

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
山东大学软件学院 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 图中的多对多关系、弱/强约束、联系属性和继承/分类建模。
  • 关系代数、分组聚合、反查询、最值查询和更新语句。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/5 13:54:03

Burp Suite入门指南:从零掌握Web抓包与安全测试核心功能

1. 项目概述:为什么我们需要一个Web抓包工具在Web应用开发、安全测试甚至是日常的故障排查中,我们经常需要知道浏览器和服务器之间到底在“聊”些什么。一个按钮点击后,到底发送了哪些数据?登录请求里,密码是以什么格式…

作者头像 李华
网站建设 2026/7/5 13:45:04

redis的aof方式恢复

情况一:你本来就有 AOF 文件 如果你之前开启过 AOF(或者有别人给的 appendonly.aof 文件),恢复步骤如下: 1. 准备 AOF 文件 # 将 AOF 文件放到目标数据目录 cp /path/to/appendonly.aof /www/server/redis/ chown redi…

作者头像 李华
网站建设 2026/7/5 13:44:04

Java安全管理器实战:从零构建OJ判题机安全沙箱

1. 项目概述:为什么需要自己搭建OJ判题机?做在线评测系统(Online Judge, OJ)的后端,最核心也最头疼的部分就是判题机。这玩意儿负责接收用户提交的代码,在一个安全、可控的环境里编译、运行&…

作者头像 李华
网站建设 2026/7/5 13:42:03

Windows EFS加密文件重装系统后恢复全攻略:原理、场景与实操

1. 项目概述:当加密文件遇上重装系统 如果你曾经在Windows系统上使用过“加密内容以便保护数据”这个功能,并且后来因为系统卡顿、中毒或者更换硬盘而重装了系统,那么你很可能已经遭遇过这个令人头皮发麻的场景:那些带着黄色小锁标…

作者头像 李华
网站建设 2026/7/5 13:41:53

抖音无水印视频下载终极指南:三步搞定批量下载难题

抖音无水印视频下载终极指南:三步搞定批量下载难题 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support.…

作者头像 李华