数据库系统原理期末复习(一)
2026/6/27 4:08:00 网站建设 项目流程

数据库系统复习总结

一、学习目标

本章属于数据库课程的入门综述,重点不是公式计算,而是理解数据库系统为什么出现、它解决了什么问题,以及 DBMS 内部大致如何工作。

学完本章,需要掌握:

  • 数据库、DBMS、数据库系统的区别
  • 文件系统方法和数据库系统方法的区别
  • 数据库系统的核心组成
  • 数据库三级模式结构
  • 数据独立性
  • 事务与 ACID
  • DBMS 的主要组件
  • 数据库系统的常见分类
  • OLTP 与 OLAP 的区别

二、为什么需要数据库?

1. 生活中的数据库例子

数据库并不是只存在于程序员工作中,生活中很多系统都依赖数据库:

  • 图书馆借书系统
  • 淘宝、京东订单系统
  • 微信、QQ 聊天系统
  • 银行转账系统
  • 学生选课系统
  • 地图导航系统
  • 视频、音乐平台
  • 指纹、人脸识别系统
  • 物联网设备数据采集系统

这些系统的共同特点是:

都需要长期保存大量数据,并且能够快速查询、修改、共享和保证安全。


2. 数据管理最核心的问题

如果没有数据库,数据通常会存成普通文件,例如:

student.txt course.txt score.txt customer.txt

这种方式简单,但问题很多。

比如学生信息分别存放在多个文件中:

选课系统有一份学生信息 成绩系统有一份学生信息 缴费系统有一份学生信息

如果学生改了手机号,就要多个地方一起改。

如果只改了一个地方,就会出现数据不一致。

所以数据库出现的根本原因是:

解决数据分散、重复、不一致、难共享、难维护的问题。


三、数据库、DBMS、数据库系统

1. 数据库 Database

数据库是:

按照一定结构组织起来的、相互有关的数据集合。

简单理解:

数据库就是专门存数据的地方。

例如学生管理系统中,数据库里可能有:

学生表 课程表 教师表 成绩表 选课表

数据库强调的是“数据本身”。


2. 数据库管理系统 DBMS

DBMS 是:

用来定义、创建、使用和维护数据库的软件。

简单理解:

DBMS 是管理数据库的软件。

常见 DBMS:

DBMS说明
MySQL常见开源关系数据库
Oracle企业级数据库
SQL Server微软数据库
PostgreSQL开源关系数据库
openGauss华为开源数据库
MongoDBNoSQL 数据库
Redis内存型键值数据库

DBMS 能做的事:

  • 建表
  • 查数据
  • 改数据
  • 删除数据
  • 控制权限
  • 管理事务
  • 处理并发
  • 备份恢复
  • 优化性能

3. 数据库系统 DBS

数据库系统不是单独一个软件,而是一整套系统。

数据库系统包括:

数据库 + DBMS + 数据库管理员 DBA + 应用程序 + 用户 + 硬件

例如一个学生选课系统:

组成例子
数据库学生表、课程表、成绩表
DBMSMySQL
应用程序学生选课网站
用户学生、老师、管理员
DBA数据库管理员
硬件服务器、磁盘、网络

4. 三者区别

概念本质例子
数据库数据集合学生表、课程表
DBMS管理数据库的软件MySQL、Oracle
数据库系统数据库运行的完整环境数据库 + DBMS + 用户 + 程序 + 硬件

记忆口诀:

数据库:存数据 DBMS:管数据 数据库系统:整套环境

四、文件系统方法 vs 数据库系统方法

这是本章最重要的对比题。

1. 文件系统方法

文件系统方法就是:

每个应用程序自己管理自己的数据文件。

例如:

发票程序 --> invoice.txt 客户程序 --> customer.txt 地理信息程序 --> gis.txt

这种方式的问题是:

1)数据冗余

同一份数据被存很多次。

比如客户姓名、电话、地址可能在多个文件中重复出现。

2)数据不一致

如果一个地方改了,另一个地方没改,就会出现矛盾。

例如:

客户系统:张三手机号 111 订单系统:张三手机号 222

到底哪个是真的?

3)程序和数据强耦合

文件格式一变,程序也要跟着改。

例如原来文件格式是:

学号 姓名 年龄

后来改成:

学号 姓名 性别 年龄

读取程序可能就出错。

4)并发控制困难

多人同时改一个文件,容易覆盖数据。

例如两个人同时修改余额,最后可能只保存了其中一个人的修改。

5)数据共享困难

不同系统的数据格式不同,整合很麻烦。


2. 数据库系统方法

数据库系统方法是:

多个应用程序共享同一个数据库,由 DBMS 统一管理数据。

结构大致是:

应用程序A 应用程序B 应用程序C ↓ DBMS ↓ 数据库

优点:

  • 数据集中管理
  • 减少冗余
  • 保证一致性
  • 支持并发
  • 权限安全
  • 查询方便
  • 维护成本低

3. 对比总结

对比项文件系统方法数据库系统方法
数据存储各程序各自存文件统一存入数据库
数据冗余
数据一致性难保证DBMS 统一维护
数据共享困难容易
程序与数据关系强耦合松耦合
并发控制困难支持事务和锁
查询方式程序逐行读取SQL 查询
安全控制可按用户授权
维护成本较低

4. 高频考点

简答题:数据库系统相比文件系统有什么优点?

可以答:

1. 减少数据冗余 2. 提高数据一致性 3. 实现数据共享 4. 提高数据独立性 5. 支持并发控制 6. 支持数据安全管理 7. 支持备份与恢复 8. 查询和维护更加方便

5. 常见判断题陷阱

判断:数据库系统完全消除了数据冗余。

错误。

数据库系统是减少和管理冗余,不是完全消除冗余。

有些分布式系统为了提高访问速度,反而会故意复制数据。

判断:文件系统不能保存数据。

错误。

文件系统当然能保存数据,只是管理能力弱。

判断:数据库系统一定比文件系统简单。

错误。

数据库系统功能强,但结构更复杂。


五、数据库模式与实例

1. 数据库模式 Schema

数据库模式是:

数据库的结构描述。

它规定数据库中有什么表、字段、关系、约束。

例如:

学生(学号,姓名,年龄,专业)课程(课程号,课程名,学分)成绩(学号,课程号,分数)

模式更像“设计图”。

特点:

  • 在数据库设计阶段确定
  • 不经常变化
  • 存储在数据库目录中

2. 数据库实例 Instance

数据库实例是:

某一时刻数据库中真实存在的数据。

例如:

学号:1001,姓名:张三,专业:计算机 学号:1002,姓名:李四,专业:软件工程

实例会不断变化。

今天有 100 个学生,明天可能有 101 个学生。


3. 模式与实例对比

对比项模式 Schema实例 Instance
含义数据库结构某时刻真实数据
是否经常变化不经常变化经常变化
类比表格模板表格里填写的内容
例子学生(学号, 姓名, 专业)1001 张三 计算机

记忆口诀:

模式是结构,实例是数据。 模式像表头,实例像内容。

六、数据模型

1. 数据模型是什么?

数据模型是:

描述数据、数据之间关系以及数据约束的一种工具。

它解决的问题是:

数据怎么组织? 数据之间有什么关系? 数据要满足什么规则? 可以对数据做什么操作?

数据模型通常包括:

  • 数据结构
  • 数据关系
  • 数据约束
  • 数据操作

2. 为什么需要数据模型?

现实世界很复杂,不能直接塞进数据库。

例如学校管理中有:

学生 老师 课程 成绩 学院 班级

这些对象之间还有关系:

学生选课 老师授课 课程属于学院 学生属于班级

数据模型的作用就是:

把现实世界中的信息抽象成数据库能管理的形式。


3. 常见数据模型分类

类型面向对象主要作用例子
概念模型业务用户、需求分析描述现实世界E-R 图
逻辑模型数据库设计人员转成数据库结构关系模型
内部模型DBMS、底层存储描述物理存储索引、文件、页
外部模型特定用户或应用展示部分数据视图 View

4. 概念模型

概念模型是:

从现实世界角度描述数据。

它不关心具体用 MySQL 还是 Oracle。

常见工具:

E-R 图 UML 类图

例如:

学生 —— 选修 —— 课程

概念模型适合和业务人员沟通。


5. 逻辑模型

逻辑模型是:

把概念模型转换成某种数据库模型。

最常见的是关系模型。

例如:

学生(学号, 姓名, 专业) 课程(课程号, 课程名) 选课(学号, 课程号, 成绩)

逻辑模型已经接近真正建表。


6. 内部模型

内部模型描述:

数据在磁盘中如何存储。

例如:

  • 文件组织
  • 索引方式
  • 数据页
  • 缓冲区
  • 存储路径

这个层次普通用户一般不直接接触。


7. 外部模型

外部模型也叫视图。

它表示:

给不同用户看到不同的数据子集。

例如学生表中有:

学号 姓名 身份证号 手机号 成绩

普通老师可能只能看到:

学号 姓名 成绩

看不到身份证号和手机号。

这就是视图的作用。


七、数据库三级模式结构

数据库三级模式结构是本章核心考点。

1. 三级模式是什么?

三级模式包括:

外模式 ↓ 概念模式 ↓ 内模式

可以这样理解:

用户看到的数据 ↓ 数据库整体逻辑结构 ↓ 磁盘上的实际存储

2. 外模式

外模式是:

用户或应用程序看到的数据视图。

一个数据库可以有多个外模式。

例如:

学生看到:

课程名 成绩 学分

老师看到:

学生姓名 课程名 成绩

财务人员看到:

学生姓名 缴费状态

不同用户看到的数据不一样。


3. 概念模式

概念模式是:

数据库整体的逻辑结构。

它描述整个数据库中有哪些表、字段、关系和约束。

一个数据库通常只有一个概念模式。


4. 内模式

内模式是:

数据在物理存储层面的描述。

例如:

  • 数据存在哪些文件中
  • 是否建立索引
  • 如何分配磁盘空间
  • 数据页如何组织

5. 三级模式的作用

三级模式的核心作用是:

实现数据独立性。

也就是:

底层变化,不影响上层使用。

生活类比:

你使用手机 App 时,不需要知道数据存在服务器哪块硬盘。

服务器换硬盘、换索引,只要接口不变,你照样能用。


八、数据独立性

数据独立性是数据库系统的重要优点。

1. 什么是数据独立性?

数据独立性是:

数据结构或存储方式变化时,应用程序尽量不用修改。


2. 物理数据独立性

物理数据独立性是:

内模式变化,不影响概念模式和外模式。

简单说:

数据怎么存变了,程序不用改。

例如:

  • 增加索引
  • 修改文件存储方式
  • 改变数据存储位置
  • 优化磁盘组织

应用程序仍然可以正常查询。


3. 逻辑数据独立性

逻辑数据独立性是:

概念模式变化时,外模式和应用程序尽量不受影响。

例如:

学生表新增一个字段:

学生(学号, 姓名, 专业)

变成:

学生(学号, 姓名, 性别, 专业)

如果应用程序只用原来的字段,就不需要修改。


4. 两种独立性对比

类型哪一层变化影响谁例子
物理独立性内模式变化不影响逻辑结构和程序加索引、换存储方式
逻辑独立性概念模式变化尽量不影响外模式和程序加字段、拆表

记忆口诀:

物理独立:存法变,程序不变。 逻辑独立:结构变,视图保护。

九、数据库语言:DDL 与 DML

1. DDL

DDL 是 Data Definition Language。

中文:

数据定义语言。

作用:

定义数据库结构。

常见语句:

CREATEALTERDROP

例如:

CREATETABLEStudent(idINT,nameVARCHAR(20));

DDL 操作的是“结构”。


2. DML

DML 是 Data Manipulation Language。

中文:

数据操作语言。

作用:

查询、插入、修改、删除数据。

常见语句:

SELECTINSERTUPDATEDELETE

例如:

SELECT*FROMStudent;

DML 操作的是“数据”。


3. DDL 和 DML 对比

对比项DDLDML
中文数据定义语言数据操作语言
作用定义结构操作数据
操作对象表、视图、索引等结构表中的记录
常见命令CREATE、ALTER、DROPSELECT、INSERT、UPDATE、DELETE

记忆口诀:

DDL 改结构。 DML 改数据。

十、数据库系统的主要优点

数据库系统的优点可以从以下几个方面理解。

1. 数据共享

多个应用程序可以共享同一份数据。

例如:

学生系统 成绩系统 缴费系统

都可以访问同一个学生数据库。


2. 减少数据冗余

数据库可以避免同一份数据到处重复存储。

但注意:

数据库不是完全消除冗余,而是合理控制冗余。


3. 保证数据一致性

因为数据集中管理,所以更容易保持一致。

例如一个客户电话修改后,所有业务系统都能使用新电话。


4. 支持完整性约束

完整性约束就是保证数据正确的规则。

例如:

学号不能为空 学号不能重复 年龄不能小于0 余额不能小于0

这些规则可以由 DBMS 统一检查。


5. 支持并发控制

多个用户同时访问数据库时,DBMS 可以防止数据混乱。

例如:

两个人同时修改同一个账户余额,DBMS 要保证结果正确。


6. 支持备份与恢复

如果系统崩溃、磁盘损坏、程序出错,DBMS 可以通过:

备份 + 日志

恢复数据。


7. 支持数据安全

DBMS 可以设置权限。

例如:

用户权限
学生查看自己成绩
老师录入成绩
管理员管理所有数据

8. 支持性能优化

DBMS 可以通过:

  • 索引
  • 查询优化
  • 缓冲区
  • 存储优化

提高查询效率。


十一、事务与 ACID

1. 什么是事务?

事务是:

数据库中作为一个整体执行的一组操作。

经典例子:

银行转账。

A账户 -100 B账户 +100

这两个操作必须一起成功,或者一起失败。

不能 A 扣钱成功,B 加钱失败。


2. 为什么需要事务?

事务用来保证数据库操作的正确性。

尤其是在:

  • 转账
  • 下单
  • 支付
  • 抢票
  • 库存扣减

这些场景中非常重要。


3. ACID 四大特性

1)原子性 Atomicity

事务中的操作要么全部完成,要么全部不做。

不能只执行一半。

2)一致性 Consistency

事务执行前后,数据库都必须处于正确状态。

例如:

转账前:

A + B = 1000

转账后:

A + B 仍然 = 1000

总金额不能凭空增加或减少。


3)隔离性 Isolation

多个事务同时执行时,彼此不能互相干扰。

简单理解:

每个事务都感觉自己像是在单独执行。


4)持久性 Durability

事务一旦提交成功,结果就要永久保存。

即使系统崩溃,也不能丢失已提交的数据。


4. ACID 记忆口诀

原:要么全做,要么不做 一:前后状态要正确 隔:并发事务不互相干扰 久:提交之后永久保存

十二、并发控制

1. 什么是并发?

并发就是:

多个用户或多个事务同时访问数据库。

例如:

  • 多个人同时抢票
  • 多个人同时下单
  • 多个人同时修改库存
  • 多个银行业务同时操作账户

2. 并发可能带来的问题

典型问题:

丢失修改。

例如账户余额 100。

事务 T1:

读取余额 100 余额 = 100 - 50 写回 50

事务 T2:

读取余额 100 余额 = 100 + 120 写回 220

如果两个事务交叉执行,最后结果可能只保留一个修改。

正确结果应该是:

100 - 50 + 120 = 170

但错误结果可能是:

50

或者:

220

3. DBMS 如何解决?

主要靠:

事务管理 + 锁管理 + 日志恢复

其中锁管理器负责协调多个事务对同一数据的访问。


十三、DBMS 的主要组成结构

DBMS 内部很复杂,但考试一般掌握核心组件和作用即可。

1. 总体结构

DBMS 主要包括:

连接和安全管理器 DDL 编译器 查询处理器 存储管理器 DBMS 实用程序 DBMS 接口

2. 连接和安全管理器

作用:

建立数据库连接,并检查用户权限。

流程:

用户登录 ↓ 验证用户名和密码 ↓ 建立连接 ↓ 检查权限 ↓ 允许或拒绝操作

例如:

学生只能查询成绩,不能修改成绩。


3. DDL 编译器

作用:

处理数据库结构定义语句。

例如执行:

CREATETABLEStudent(...)

DDL 编译器会:

解析语句 ↓ 检查语法 ↓ 转换为内部格式 ↓ 写入数据库目录

4. 查询处理器

查询处理器负责处理 SQL 查询。

主要流程:

SQL语句 ↓ 查询解析 ↓ 查询重写 ↓ 查询优化 ↓ 查询执行

例如:

SELECT*FROMStudentWHEREname='张三';

查询处理器会判断:

  • SQL 是否正确
  • 需要查哪些表
  • 是否能用索引
  • 哪种执行方式成本最低

5. 查询优化器

查询优化器是 DBMS 的核心组件之一。

作用:

从多个执行方案中选择成本最低的方案。

例如同样查询一个学生:

方案 A:

全表扫描

方案 B:

使用索引

如果数据量很大,使用索引通常更快。

查询优化器会根据统计信息、索引、数据量等选择执行计划。


6. 查询执行程序

作用:

按照优化器生成的执行计划真正访问数据。

它会调用存储管理器从磁盘或缓冲区中读取数据。


7. 存储管理器

存储管理器负责:

管理数据在物理层面的存储和访问。

它下面包含多个重要模块:

事务管理器 缓冲区管理器 锁管理器 恢复管理器

8. 事务管理器

作用:

保证事务正确执行。

它负责:

  • 开始事务
  • 提交事务
  • 回滚事务
  • 保证 ACID

9. 缓冲区管理器

作用:

减少磁盘访问,提高性能。

因为磁盘访问很慢,所以 DBMS 会把常用数据放到内存缓冲区。

常见思想:

最近用过的数据,很可能马上还会用。

常见算法:

LRU 最近最少使用算法

10. 锁管理器

作用:

管理并发事务访问共享数据。

它负责:

  • 分配锁
  • 释放锁
  • 判断事务能不能访问某个数据
  • 检测死锁
  • 保证隔离性

常见锁:

锁类型含义
共享锁允许多个事务读
排他锁只允许一个事务写

11. 恢复管理器

作用:

数据库出错后恢复数据。

依靠:

日志文件 + 备份文件

可以处理:

  • 系统崩溃
  • 软件错误
  • 硬件故障
  • 事务失败

12. DBMS 组件总结表

组件作用
连接和安全管理器建立连接、验证权限
DDL 编译器处理数据库结构定义
查询处理器解析、优化、执行 SQL
查询优化器选择成本最低的执行计划
存储管理器管理数据物理存储
事务管理器保证事务 ACID
缓冲区管理器减少磁盘 I/O
锁管理器控制并发访问
恢复管理器崩溃后恢复数据

十四、阻抗不匹配问题

1. 什么是阻抗不匹配?

阻抗不匹配指:

面向对象语言和关系数据库之间的数据表示方式不一致。

例如 Java 中是对象:

Student{id name age}

关系数据库中是表:

Student(id, name, age)

对象和表之间需要转换。


2. 为什么会出现?

因为:

Java 等面向对象语言关系数据库
对象
表结构
属性字段
对象关系表关系
方法SQL 操作

两者天然不是同一种思想。


3. 如何解决?

常见方式:

  • 使用 ORM 框架
  • 使用面向对象数据库
  • 使用对象关系数据库

常见 ORM:

Hibernate MyBatis

十五、数据库系统分类

1. 按数据模型分类

类型特点代表
层次数据库树形结构IMS
网状数据库网状结构CODASYL
关系数据库二维表 + SQLMySQL、Oracle
面向对象数据库直接存对象db4o
对象关系数据库关系模型 + 对象思想Oracle、DB2
XML 数据库存储 XML 文档BaseX
NoSQL 数据库面向大数据和非结构化数据MongoDB、Redis、Neo4j

2. 关系数据库

关系数据库是目前最重要、最常见的数据库类型。

特点:

  • 使用二维表组织数据
  • 使用 SQL 操作数据
  • 逻辑结构和物理结构分离
  • 有查询处理器
  • 支持事务和完整性约束

例子:

MySQL Oracle SQL Server PostgreSQL openGauss

3. NoSQL 数据库

NoSQL 主要用于:

  • 大数据
  • 非结构化数据
  • 半结构化数据
  • 高并发场景
  • 灵活数据结构

常见类型:

类型特点例子
键值数据库key-value 存储Redis
文档数据库存 JSON/BSON 文档MongoDB
列族数据库面向列存储HBase
图数据库适合关系网络Neo4j

4. 关系数据库 vs NoSQL

对比项关系数据库NoSQL
数据结构表结构固定灵活
查询语言SQL不统一
事务支持通常较弱或按产品不同
扩展性垂直扩展较常见水平扩展较强
适合场景交易、管理系统大数据、社交、缓存、图关系

十六、按访问用户数量分类

1. 单用户系统

同一时间主要支持一个用户访问。

适合小型场景。


2. 多用户系统

同一时间支持多个用户访问。

需要重点解决:

  • 并发控制
  • 事务隔离
  • 权限管理
  • 数据一致性

企业级数据库一般都是多用户系统。


十七、按部署架构分类

1. 集中式 DBMS

数据集中放在一台中央服务器上。

特点:

  • 管理简单
  • 数据集中
  • 依赖中央服务器

2. 客户端/服务器架构

客户端向数据库服务器请求服务。

例如:

Java程序 / Web系统 ↓ 数据库服务器 MySQL

这是非常常见的结构。


3. n 层架构

常见 Web 系统一般是 n 层架构:

浏览器 ↓ Web服务器 ↓ 应用服务器 ↓ 数据库服务器

好处:

  • 分层清晰
  • 易扩展
  • 易维护

4. 云 DBMS

数据库部署在云平台上。

例如:

  • 云 MySQL
  • 云 PostgreSQL
  • 云 Redis
  • 云 MongoDB

优点:

  • 不用自己维护硬件
  • 易扩展
  • 高可用能力强

5. 联邦 DBMS

联邦 DBMS 可以把多个不同数据源统一起来访问。

底层数据可能来自:

数据库 文件系统 文档系统 其他应用系统

用户感觉像访问一个统一数据库。


6. 内存 DBMS

内存 DBMS 把数据主要放在内存中。

特点:

  • 速度快
  • 适合实时场景
  • 成本较高
  • 需要考虑持久化

例子:

Redis SAP HANA Memcached

十八、按用途分类

1. OLTP

OLTP 是 Online Transaction Processing。

中文:

在线事务处理。

主要用于日常业务交易。

特点:

  • 用户多
  • 请求多
  • 每次操作简单
  • 实时性要求高
  • 更新、插入、删除频繁

例子:

  • 银行转账
  • 电商下单
  • 火车票购票
  • 微信支付
  • 学生选课

2. OLAP

OLAP 是 Online Analytical Processing。

中文:

在线分析处理。

主要用于数据分析和决策支持。

特点:

  • 用户较少
  • 查询复杂
  • 数据量大
  • 主要用于统计分析
  • 更新少,查询多

例子:

  • 销售趋势分析
  • 用户行为分析
  • 财务报表
  • 商业智能 BI
  • 数据仓库

3. OLTP 和 OLAP 对比

对比项OLTPOLAP
中文在线事务处理在线分析处理
目的支撑日常业务支撑分析决策
操作特点简单、高频复杂、低频
用户数量较少
数据更新频繁较少
查询复杂度简单复杂
例子下单、支付、转账报表、统计、BI

记忆口诀:

OLTP 管交易。 OLAP 做分析。

十九、结构化、半结构化、非结构化数据

1. 结构化数据

结构化数据是:

有固定格式的数据。

例如:

学号 姓名 年龄 手机号 成绩

适合用关系数据库存储。


2. 半结构化数据

半结构化数据是:

有一定结构,但结构不固定。

例如:

  • JSON
  • XML
  • 简历
  • 网页数据

3. 非结构化数据

非结构化数据是:

没有固定表结构的数据。

例如:

  • 图片
  • 音频
  • 视频
  • 文档
  • 邮件正文

4. 对比总结

类型特点例子
结构化数据格式固定学生表、成绩表
半结构化数据有结构但不稳定JSON、XML、网页
非结构化数据无固定结构图片、视频、文档

二十、完整性规则

完整性规则用来保证数据正确。

1. 语法规则

关注数据格式是否正确。

例如:

年龄必须是整数 出生日期必须是日期格式 手机号必须是字符串

2. 语义规则

关注数据含义是否正确。

例如:

学号不能重复 账户余额不能小于0 有未处理订单的客户不能删除 成绩必须在0到100之间

3. 为什么完整性规则重要?

如果没有完整性规则,数据库中可能出现错误数据。

例如:

年龄 = -10 成绩 = 999 余额 = -500

DBMS 可以统一检查这些规则,而不是每个应用程序各自检查。


二十一、数据库安全

数据库安全主要解决:

谁能访问什么数据,能做什么操作。

常见权限:

读权限 写权限 修改权限 删除权限 管理员权限

例如:

用户权限
学生查看自己的成绩
老师录入和修改课程成绩
教务员管理学生和课程
DBA管理数据库

安全信息通常存储在数据库目录中。


二十二、备份与恢复

1. 备份

备份是:

提前保存数据库副本。

常见备份方式:

类型含义
全量备份备份全部数据
增量备份只备份变化的数据

2. 恢复

恢复是:

数据出错后,把数据库还原到正确状态。

恢复依赖:

备份文件 + 日志文件

二十三、性能指标 KPI

DBMS 常见性能指标有三个:

1. 响应时间

从发出请求到得到结果所用的时间。

例如:

点击查询按钮后,2秒返回结果

2. 吞吐率

单位时间内能处理多少事务。

例如:

每秒处理1000笔订单

3. 空间利用率

存储数据和元数据占用的空间情况。

例如:

索引太多会加快查询,但也会占用更多空间。

二十四、常见易混概念总结

1. 数据库、DBMS、数据库系统

概念重点
数据库数据本身
DBMS管理数据库的软件
数据库系统数据库运行的完整环境

2. 模式和实例

概念重点
模式结构,不常变
实例数据,经常变

3. DDL 和 DML

概念重点
DDL定义结构
DML操作数据

4. 物理独立性和逻辑独立性

概念重点
物理独立性存储方式变,程序不变
逻辑独立性逻辑结构变,应用尽量不变

5. OLTP 和 OLAP

概念重点
OLTP日常交易
OLAP数据分析

二十五、常见选择题陷阱

1. “数据库系统就是数据库”

错误。

数据库系统包括数据库、DBMS、用户、应用程序、DBA、硬件等。


2. “数据库可以完全消除数据冗余”

错误。

数据库可以减少和管理冗余,但不是完全消除。


3. “DML 用来定义数据库结构”

错误。

DDL 才是定义结构。

DML 是操作数据。


4. “事务提交后数据可以随便丢失”

错误。

事务提交后要满足持久性。


5. “OLTP 主要用于复杂分析”

错误。

OLTP 主要用于日常事务处理。

复杂分析是 OLAP。


6. “外模式描述数据的物理存储”

错误。

外模式描述用户看到的数据视图。

内模式才描述物理存储。


二十六、本章高频简答题模板

1. 简述数据库系统的优点

答:

数据库系统相比文件系统具有以下优点:

  1. 可以实现数据共享,多个应用程序可以访问同一份数据。
  2. 可以减少数据冗余,避免大量重复存储。
  3. 可以提高数据一致性,减少数据冲突。
  4. 支持数据独立性,降低程序和数据之间的耦合。
  5. 支持完整性约束,保证数据正确。
  6. 支持并发控制,避免多个事务同时操作造成错误。
  7. 支持数据安全管理,可以按用户分配权限。
  8. 支持备份与恢复,提高系统可靠性。

2. 简述文件系统方法和数据库系统方法的区别

答:

文件系统方法中,各应用程序分别管理自己的数据文件,容易产生数据冗余、数据不一致、共享困难和维护困难等问题。

数据库系统方法中,数据由 DBMS 统一管理,多个应用程序共享数据库,可以提高数据一致性、安全性、独立性,并支持并发控制和恢复机制。


3. 简述数据库三级模式结构

答:

数据库三级模式结构包括外模式、概念模式和内模式。

外模式是用户或应用程序看到的数据视图。

概念模式是数据库整体的逻辑结构。

内模式是数据在物理存储层面的组织方式。

三级模式结构的主要作用是实现数据独立性,包括物理数据独立性和逻辑数据独立性。


4. 简述事务的 ACID 特性

答:

ACID 是事务的四个基本特性。

原子性表示事务中的操作要么全部执行,要么全部不执行。

一致性表示事务执行前后数据库都必须保持正确状态。

隔离性表示并发事务之间不能相互干扰。

持久性表示事务一旦提交,其结果就应永久保存。


5. 简述 OLTP 和 OLAP 的区别

答:

OLTP 是在线事务处理,主要用于日常业务操作,如下单、支付、转账等。它的特点是用户多、事务量大、操作简单、实时性强。

OLAP 是在线分析处理,主要用于数据分析和决策支持,如报表分析、销售统计等。它的特点是用户较少、查询复杂、数据量大、主要用于分析。


二十七、考前速记

1. 三个核心概念

数据库:存数据 DBMS:管数据 数据库系统:完整环境

2. 文件系统缺点

冗余高 不一致 难共享 强耦合 并发差 维护难

3. 数据库系统优点

共享 一致 独立 安全 完整 并发 恢复 高效

4. 三级模式

外模式:用户看到 概念模式:整体逻辑 内模式:物理存储

5. 两种独立性

物理独立:存法变,程序不变 逻辑独立:结构变,程序少变

6. SQL语言

DDL:定义结构 DML:操作数据

7. ACID

A 原子性:全做或不做 C 一致性:前后正确 I 隔离性:并发不乱 D 持久性:提交永久

8. OLTP 与 OLAP

OLTP:交易 OLAP:分析

二十八、本章一句话总结

数据库系统的核心价值是:

用 DBMS 统一管理数据,解决文件系统中数据冗余、不一致、难共享、难维护的问题,并通过事务、安全、恢复、优化等机制保证数据可靠、高效地被使用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询