news 2026/3/5 14:32:16

数据库期末复习笔记:SQL查询与数据库理论核心知识点总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据库期末复习笔记:SQL查询与数据库理论核心知识点总结

数据库期末复习笔记:SQL查询与数据库理论核心知识点总结

本文整理自手写笔记,涵盖数据库系统的核心概念、SQL高级查询技巧、关系模型完整性约束、函数依赖与范式理论、事务隔离级别等内容,适合备考数据库课程的同学们快速回顾重点。


📚 一、SQL 查询语句精讲(含常见题目解析)

以下是一些典型的 SQL 查询题型及其解答思路,适用于数据库期末考试中的实践题部分。

✅ 示例 1:筛选特定课程

SELECT*FROMcourseWHEREchours>=48ANDcnameLIKE'%数据只%';

说明:查找学时大于等于 48 且课程名称包含“数据只”的课程。


✅ 示例 2:按课程分组统计并过滤

SELECTcnoFROMtcGROUPBYcnoHAVINGAVG(tchour)>=40ANDCOUNT(*)>=3;

说明:找出教师授课中平均课时 ≥ 40 且授课次数 ≥ 3 的课程编号。


✅ 示例 3:多条件组合查询

SELECT*FROMcourseWHEREchour>=60AND(cname='数据库原理'ORcname='信息技术概论');

说明:查找学时 ≥ 60 并且是“数据库原理”或“信息技术概论”的课程。


✅ 示例 4:连接查询 + 分组统计

SELECTcno,COUNT(*)FROMtcWHEREtchour=32GROUPBYcnoHAVINGCOUNT(*)>4;

说明:找出每门课程中教学时长为 32 的教师人数超过 4 人的课程。


✅ 示例 5:三表连接查询

SELECTcname,tname,tchourFROMcourseJOINtcONcourse.cno=tc.cnoJOINteacherONteacher.tno=tc.tnoWHEREterm='2015-2016-1';

说明:查询 2015-2016 学年第一学期开设的课程名、教师姓名和教学时长。


✅ 示例 6:子查询嵌套统计

SELECTcourse.cno,COUNT(tcno)FROMcourseLEFTJOINtcONcourse.cno=tc.cnoGROUPBYcourse.cno;

说明:统计每门课程有多少位教师授课(使用LEFT JOIN确保所有课程都出现)。


✅ 示例 7:集合操作与子查询

SELECTDISTINCTsnoFROMscWHEREtnoIN(SELECTtnoFROMtcWHEREsnoIN(SELECTsnoFROMscWHEREscore>(SELECTAVG(score)FROMscWHEREtno='Z')));

说明:找出那些曾教过成绩高于某教师(tno=‘Z’)平均分学生的教师所教的所有学生。


✅ 示例 8:比较分数与平均值

SELECTsnoFROMscWHEREtno='2S1'ANDscore>(SELECTAVG(score)FROMscWHEREtno='Z');

说明:查找在教师 ‘2S1’ 教授的课程中,成绩高于教师 ‘Z’ 所教课程平均分的学生。


🔧 二、数据库体系结构与模式

🌐 三级模式结构

模式说明
外模式(用户级)用户看到的数据视图,即逻辑上的数据子集。
概念模式(逻辑模式)全体数据的全局逻辑结构,定义了整个数据库的组织方式。
内模式(存储模式)数据的物理存储结构,如索引、存储位置等。

💡用户与数据库接口:通过外模式进行交互。


🛠️ 三、关系模型三大完整性约束

  1. 实体完整性(主键约束)
    • 主键不能为空,且唯一。
  2. 参照完整性(外键约束)
    • 外键必须引用存在的主键值。
  3. 用户定义完整性(自定义规则)
    • 如字段取值范围、检查约束等。

⚠️DISTINCT关键字用于去重;两阶段锁协议可保证调度的可串行性。


🔗 四、函数依赖与候选键推导

函数依赖公理

  • 自反律:若 Y ⊆ X,则 X → Y
  • 增广律:若 X → Y,则 XZ → YZ
  • 传递律:若 X → Y,Y → Z,则 X → Z

三级模式再强调

  • 外模式 → 用户级
  • 概念模式 → 逻辑级
  • 内模式 → 存储级

✅ 候选键求解示例

设关系 R(A,B,C,D,E),已知函数依赖集 F:

F = {A→BCDE, B→D, C→C, D→D, E→ABCE}
步骤 1:求每个属性的闭包
  • A⁺ = ABCDE → A 是候选键
  • B⁺ = BD → 不是
  • C⁺ = C → 不是
  • D⁺ = D → 不是
  • E⁺ = ABCE → E 是候选键

→ 初步得到候选键:A、E

步骤 2:尝试组合
  • BC⁺ = BDCEA → 包含全部属性 → BC 是候选键
  • CD⁺ = CDEAB → 也是候选键

最终结果:R 的候选键有A、E、BC、CD4 个

✅ 注意:候选键是能唯一标识元组的最小属性集。


🔒 五、事务隔离级别与并发控制

隔离级别特点解决问题
一级(读未提交)只加 X 锁,事务结束释放无法避免脏读
二级(读已提交)读前加 S 锁,读后立即释放避免脏读,但可能不可重复读
三级(可重复读)S 锁持续到事务结束避免不可重复读
四级(序列化)排他锁 X 锁完全避免并发问题

❌ 脏读:读取了其他事务尚未提交的数据
❌ 不可重复读:同一事务多次读取相同数据,结果不一致
❌ 幻读:插入/删除导致查询结果变化


💥 六、事务故障与恢复机制

事务故障类型

  • 事务内部错误:如程序异常、违反约束
  • 系统故障:OS 或 DBMS 崩溃,内存丢失,但磁盘保留
  • 媒体故障:硬盘损坏,导致数据永久丢失

恢复策略

  • 日志文件:记录事务开始、更新、提交/回滚
  • 检查点机制:定期保存状态,加快恢复速度
  • UNDO/REDO:根据日志回滚或重做操作

🧠 七、数据库设计要点总结

ER 模型(实体-联系模型)

  • 实体:现实世界中的对象
  • 属性:描述实体的特征
  • 联系:实体之间的关系(一对一、一对多、多对多)

💡 概念模型独立于操作系统和 DBMS,是数据库设计的基础。


🎯 总结:数据库期末复习重点清单

类别核心知识点
SQL 查询SELECT、JOIN、GROUP BY、HAVING、子查询、DISTINCT
数据库结构三级模式、外模式、概念模式、内模式
完整性约束实体完整性、参照完整性、用户定义完整性
函数依赖闭包计算、候选键判断、范式分析
事务管理ACID 特性、隔离级别、并发控制、恢复机制
设计方法ER 模型、关系模式转换、规范化

✅ 温馨提示

  • 多练习 SQL 查询题,尤其是涉及多表连接、聚合函数和子查询的题目。
  • 理解函数依赖和候选键的推导过程,这是范式分析的基础。
  • 掌握事务隔离级别的区别,特别是“脏读”、“不可重复读”、“幻读”的含义。
  • 重视数据库恢复机制,理解日志的作用。

📌最后提醒:数据库不仅是背公式,更是理解和应用的过程。建议结合课本+真题+实验反复巩固!


📝 本文基于手写笔记整理而成,如有错漏欢迎指正。祝大家数据库期末考试顺利通过!🎉

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

PaddlePaddle文章结构优化建议AI

PaddlePaddle:为何它正成为中文AI落地的首选框架? 在金融票据识别、工业质检流水线、智能合同审核系统中,一个共通的需求浮现出来:如何用一套稳定、高效、能“开箱即用”的技术栈,完成从图像到文本、再到语义理解的全链…

作者头像 李华
网站建设 2026/3/4 3:14:32

国产AI硬件崛起,智谱Open-AutoGLM电脑究竟强在哪里?

第一章:国产AI硬件崛起,智谱Open-AutoGLM电脑究竟强在哪里?近年来,随着人工智能技术的迅猛发展,国产AI硬件正逐步打破国外垄断,展现出强大的自主研发能力。其中,智谱推出的Open-AutoGLM电脑成为…

作者头像 李华
网站建设 2026/3/4 9:00:17

基于PaddlePaddle镜像构建语音识别系统的完整路径

基于PaddlePaddle镜像构建语音识别系统的完整路径 在智能客服自动接听、会议内容实时转录、车载语音助手交互等场景中,准确高效的中文语音识别能力正成为AI系统的核心竞争力。然而,许多团队在落地过程中常遭遇“模型跑不起来”“环境依赖错乱”“中文识别…

作者头像 李华
网站建设 2026/3/3 20:57:06

环境配置还是依赖冲突?,深度剖析Open-AutoGLM运行报错根源

第一章:环境配置还是依赖冲突?,深度剖析Open-AutoGLM运行报错根源在部署 Open-AutoGLM 项目时,开发者常遭遇启动失败或模块导入错误。这些问题表面看似环境配置疏漏,实则多由 Python 依赖包版本冲突引发。深入分析发现…

作者头像 李华
网站建设 2026/3/3 16:31:22

给AI装个“大脑管家”:拆解智能体数据全生命周期管控系统

作为一名深耕AI领域的PM,最近我发现一个有趣的现象:大家都在讨论大模型有多聪明,却很少有人关心它的“记忆”和“营养”是怎么管理的。如果大模型是一个超级大脑,那么AI智能体就是在这个大脑指挥下能干活的手和脚。 但是&#xf…

作者头像 李华
网站建设 2026/3/5 10:35:58

Open-AutoGLM独立出来了(核心能力全面升级)

第一章:Open-AutoGLM 独立出来了随着大模型自动化推理需求的增长,Open-AutoGLM 正式从原框架中解耦,成为一个独立运行的开源项目。这一变化不仅提升了模块化程度,也使得开发者能够更灵活地集成和扩展其功能。项目结构优化 独立后的…

作者头像 李华