数据库期末复习重点
数据库期末复习
考试题型
考试难度不会超过平时讲课的难度
选择
考察你对于相关数据库原理的一些理解
问答题
让你来进行解析
编程
一、在特定的场景下,请你进行相关的数据库操作训练。之前已经讲解了关系代数表达式和SQL语言的基本使用方法,请记住这些内容并熟练掌握。
二、数据库设计是核心内容之一,在具体需求下(无需再进行详细的需求分析),主要进行概念结构设计和逻辑结构设计,请掌握如何绘制ER图以及将ER图转换为对应的关系模式。此外还需要了解规范化理论,在达到相应级别的规范化程度时,请能够给出具体的说明。
第一章 数据库系统概述(其它的了解一下就行)
1.1 基本概念
1.1.1 数据概念
1.1.2 数据库概念
1.1.3 数据库管理系统DBMS (重点)
- 概念
- 主要功能
1.1.4 数据库系统
- 核心内容
- 优势:他所讲述的文件系统与之前的知识相比,在发展过程中对比了数据库系统的优缺点。

1.2 数据模型
1.2.1 三要素
我们现在用的数据模型是什么,你要知道


1.2.2 数据模型有两次抽象
一些基本的概念你要知道


1.3 数据库系统的结构
1.3.1 数据库系统的内部结构 (重点)
这种情况下涉及的是哪种三级模式以及其中三个一级模块之间的相互映射关系







1.3.2 数据独立性
基于这种层级式的架构设计,在数据库中实现了数据的物理独立性和逻辑独立性。
- 数据独立性是什么意思

逻辑独立性: 当数据的逻辑结构发生变化时, 通过调整外模式与数据库表之间的映像关系, 维持外模式表不变, 从而保证基于该外模式表构建的应用程序不受影响.
物理独立性: 当数据的物理存储结构变化时, 通过调整数据库表与内模式之间的映像关系, 维持数据库表与外模式表不变, 这样建立在外模式表上的应用程序也不会受到影响.
第二章 实体—联系模型(ER模型)
ER模型,一定要会画ER图。在ER图当中,主要内容包括:
2.1 实体集
相同类型的实体的集合
2.2 联系集
相同类型的联系的集合
2.3 属性
属性可以是实体上的属性也可以是联系上的属性
2.4 联系的类型
你要会画
2.5 弱实体集
最终你能够构建出ER模型(在布置作业的过程中已打下坚实基础,在经过实验练习后掌握核心概念),并结合之前学习的内容进行一次复习巩固

第三章 关系数据模型(采用的数据模型就是关系模型)
这章主要是前面5小节(课本上的3.5之前)
3.1 基本的概念
3.1.1 关系的码
各种码:候选码、外码、补码
学号是超码
3.1.2 关系模式

3.2 怎么从E-R模型转换成关系模型
在设计过程中必须掌握从ER模型转换为关系模式的技术方法,并需明确将关系模式完整地表示为五元组形式,在简化形式下则表现为二元组结构;对于这一过程,请详细说明其具体实现方式。
对于关系模式中的补码概念,请明确标注其具体实现方法。




3.3 完整性的约束
3.3.1 实体完整性

3.3.2 参照完整性

3.3.3 用户自定义完整性
具体怎么规定的你要很清楚
3.4 关系代数表达式
如何编写关系代数表达式?你需要掌握的主要操作包括选择、投影和自然联结(natural join)。在处理联结时,请注意区分等值联结(equality join)与自然联结的不同之处。

第四章 SQL语言 (大重点)
方各方面内容你都必须掌握好。主要涉及DBC中的DDL与DML语言(即数据定义与数据操作)。从第4.3章开始是学习的重点(课本)。
4.1 数据定义 (重点看,看老师课件就行)
4.1.1 SQL的数据类型

4.1.2 怎么定义表




4.1.3 怎么创建索引
- 索引的作用:为什么要用索引
- 索引的类型:




4.2 数据查询 (重点看,看老师课件就行)

4.2.1 单表查询
- 模糊查询
4.2.2 多表查询
一定要掌握多表连接查询
4.2.3 排序
对查询结果进行排序
4.2.4 聚合函数

4.2.5 分组统计(会用到聚合函数)
前述关键点包括五个方面:一是基础操作要熟练掌握;二是嵌套查询也是必须掌握的;三是对于较为复杂的嵌套查询,则应掌握基本技能。考试内容难度与日常讲授相当,在复习时应重点针对常见题型及其解法进行深入学习。
4.3 数据更新
增删改基本操作要会,SQL语句你都得会。
4.3.1 insert语句:
4.3.2 desert语句:
4.3.3 update语句:
4.4 视图 (重点)
4.4.1 视图的概念,怎么定义视图
4.4.2 视图的优点,作用,为什么要用视图
4.5 存储过程和触发器 (老师补充的内容,出了很多内容)
4.5.1 存储过程的定义
存储过程有三种类型:
- 不带参数的存储过程
- 带输入参数的存储过程
- 带输出参数的存储过程
4.5.2 带参数怎么用
4.5.3 存储过程的作用
4.5.4 触发器的定义
考的方式是基于SQL Server语法的,请不要依照书本上的语法进行操作;相反,请依据课件中的内容进行设置
- 必须明确说明该触发器是由哪个表发起的。
- 触发的时间点通常是某个特定事件之后发生。
- 可以被触发的事件包括增删改三种操作。
在某些特定条件下(即某个场景下),针对某个数据表(即指定的数据库),执行相应的操作(即具体的业务逻辑)。这些操作包括:当特定条件被触发时(即满足某种条件时),随后执行相应的操作(即具体的业务流程)。这些操作实际上就是存储在你的数据库触发器中的代码逻辑(即数据库管理的脚本)。
在MySQLServer环境下(即MySQLServer平台上),经常使用两种临时表:一个是用于插入数据的insert_table;另一个是用于删除数据的delete_table。(这些题目中一定会用到这两种临时表)
第五章 数据库的完整性
完整性其实就是我们刚才说的,有三种主要的完整性:
5.1 实体完整性
5.2 参照完整性
5.3 用户自定义的完整性
这里面需要了解具体是如何实现的?比如实体完整性、参照完整性以及用户自定义完整性都是通过什么来完成的呢?老师在课件中已经对此进行了详细的总结。

第六章 数据库的安全性(我们主要讲的内容)
要掌握,常用的一些安全机制,我们讲过的内容要大致的看一下:
6.1 用户标识与鉴别
6.2 存取控制
6.2.1 自主存取控制
关于权限管理的内容中列举了几项操作流程,并举例说明如何分配权限、取消权限以及拒绝权限申请等步骤。
6.2.2 强制存取控制

第七章 关系规范化理论
7.1 问题的提出(好好看)
为什么要进行规范化,我们的关系模式为什么需要规范化

7.2 函数依赖
为了探讨函数依赖性,在我们的关系模式中可能存在潜在的问题导致出现不良的函数依赖关系。
7.2.1 函数依赖的类型(相关的类型)
7.2.2 什么是函数依赖(函数依赖的定义)

7.3 关系模式的范式 (重点)
我们主要涉及了一级 van 式及其以上的相关知识体系(涵盖第一 van 式至 BC van 式这一系列的知识点),其中详细阐述了各个 van 式的具体定义(包括第一 van 式、第二 van 式、第三 van 式以及修正后的第三 van 式等不同等级)。此外我们还探讨了各个 van 式之间的区别与联系以及它们的具体应用条件。你必须能清楚地区分出各个层次间的细微差别并准确掌握其核心概念才能完成相关知识的学习与应用

7.4 逆规范化
在设计的过程中,并非一定要严格遵循第三范式的原则;有时在进行查询操作时(尤其是针对特定场景),考虑到其性能(即效率)可能存在的提升空间,则会选择性地进行逆规范化处理;即将这些表整合到一起形成一个更大的数据集;这种情况下可能会带来较大的性能提升;但同时也要权衡一下是否会因为过度优化而影响整体系统的稳定性和可维护性?因此,在实际应用中需要具体问题具体分析:如果发现系统运行过程中并没有明显的性能下降,则这种情况下是可以采用逆规范化的策略的
第八章 数据库设计
我们主要探讨的是完整的数据库设计流程,在这一过程中将从需求分析阶段开始逐步展开。为了帮助大家清晰了解每个阶段的任务与目标,请注意以下几点:首先明确每个阶段的主要任务及其预期成果;例如,在需求分析阶段的主要任务是梳理项目需求并完成相关文档编写工作(说明书、数据字典等),这些成果将作为后续工作的基础并持续应用在下一阶段(如概念设计模块)。因此,在详细阐述各个阶段的具体实施步骤时,请确保每一环节的目标均能精准达成;同时也要清晰阐述每个阶段的任务要求及最终达成的目标。




第十章 事务与并发控制
10.1 事务的概念是什么
10.1.1 事务的四大特性,ACID特性

10.2 并发控制概述(要看)
事务并发执行是为了提升处理速度。另一种方式是顺序执行。顺序执行是一种可靠的方式。虽然并发可能导致一些问题。这些潜在的问题可能会影响系统的稳定性。主要采用的技术包括封锁技术和两段锁协议。



10.3 封锁
10.3.1 共享锁、排它锁

10.3.2 封锁协议
一级二级封锁协议


10.3.3 出现活锁死锁



10.3.4 死锁预防

10.4 并发调度的可串行化
当我们面临一个并发调度时,
你的任务是能够将它通过冲突情况下将其转化为可串行化而实现正确的调度。
主要关注点在于老师的教材内容。
首先要理解的是关于并发处理中可串行化的概念;
其次要掌握的是关于并发事务处理中的相关知识。




10.5 两阶段锁协议
该系统划分为两个主要功能模块:一个是"加锁"功能模块(简称"锁定"),另一个是"解锁"功能模块(简称"解除锁定")。在'锁定'模块中只能执行'加锁'操作,并且无法再次执行新的'锁定'操作;而在'解除锁定'模块中允许执行'解除锁定'操作,并且在此期间无法再进行新的'锁定'操作。它主要的功能是什么?请详细说明其具体作用机制。

第十一章 数据库的恢复技术
11.1 数据库恢复概述
要知道常见故障类别以及它们各自对应的典型问题,在面对不同类型的故障时会采取相应的处理措施。了解这些各类别的具体表现形式有助于制定有效的解决方案。掌握数据恢复的核心理念是关键,在学习过程中需要深入理解其基本原理以及具体实现方式。

11.2 基于日志的恢复技术
11.2.1 日志
它包含哪些主要的内容?它由哪些组成部分构成?例如如何标记日志的开始?如何标记日志的结束?记录日志的方式是什么?此外还需要掌握其基本原则。记录日志的原则是什么?

11.3 基于检查点的恢复技术
为何需要采用基于检查点的故障恢复技术?当时的讲解中举了一个非常全面的例子来说明各个情况之间的关联性以及处理流程的具体步骤。所有情况均有所涵盖,并且通过具体的案例展示了不同场景下的应对策略。例如,在建立检查点时需要完成哪些工作,在发生故障时又该如何操作,并通过恢复过程来实现系统状态的重置与优化。



11.4 介质故障恢复技术
在存储方案下,在正常运行状态下需定期备份数据。当发生故障时,请立即恢复工作流程。

