请使用支持现代 CSS 与 JavaScript 的浏览器播放课件
DBPA · 1.1

数据库系统概述

从数据到数据库管理系统和数据库系统

VER. 2608 Built with impress.js

学习目标

学完后,你能用教务、游戏或网购中的例子说清数据库系统怎样管理数据

  1. 01面对一套系统,指出哪些是数据、数据库、DBMS 和完整的数据库系统
  2. 02用建表、查成绩、备份和恢复等操作,说明 DBMS 为应用程序做了什么
  3. 03比较程序自己管数据、各应用保存文件和多个应用共用数据库时有什么不同
  4. 04指出数据库系统解决了什么数据管理问题
2/24
LEARNING OBJECTIVES

数据的定义

数据是数据库中存储的基本对象

数据的多种表现形式
Quote

描述事物的符号记录,被称为数据

3/24
DATA DEFINITION

数据是被记录下来的重要事实

数据是描述事物的符号记录

数据可以描述事物的

属性

玩家等级;某门课程成绩;某个商品价格

状态

对局已结束、课程已选、订单已支付

相互关系

玩家与对局、学生与课程、订单与商品

Takeaway

数据只有和它所表达的语义结合起来,才具有可解释的意义

4/24
DATA

同一个数据,含义可以不同

相同的符号记录,只有放进字段、单位和业务场景中才能确定含义

93

Case

课程

数据库原理课程成绩:93 分;班级人数:93 人;当前排名:第 93 名;学时:共 93 学时;课程编号:93 ;等等等等

商品

某商品库存:93 件;书名:《93》;商品代码:93;价格:93 元;某书页数:93 页;货物重量:93 公斤;等等等等

Takeaway

决定含义的是符号带有的语义,来自符号所描述的对象和符号所在的语境

5/24
DATA SEMANTICS

数据库的定义

数据库会被应用程序使用,能够长期保存、共享有组织的数据

数据库示意图
Quote

数据库是长期存储在计算机内有组织、可共享的大量数据的集合

6/24
DATABASE DEFINITION

数据库管理系统的定义

DBMS 在用户与操作系统之间,负责统一管理数据

数据库管理系统示意图
Quote

数据库管理系统是位于用户与操作系统之间的数据管理软件

7/24
DBMS DEFINITION

数据库的基础概念

成绩是数据;数据库保存成绩;DBMS 管理数据库;应用和人员组成完整系统

数据 Data

描述事物的符号记录,需要结合语义解释和理解

数据库 Database

在计算机中长期存储的、有组织、可共享的数据集合

数据库管理系统 DBMS

应用系统与操作系统之间的软件层,负责管理数据

数据库系统 DBS

当计算机系统引入数据库后,就形成了数据库系统

8/24
CORE CONCEPTS

数据库系统的构成

数据库系统由数据、数据库管理系统、应用程序、人员和运行环境共同组成

数据库通过 DBMS 为应用程序和用户提供数据服务
DBMS 连接数据库、应用程序和用户

数据库

保存数据

DBMS

数据的组织、控制、访问

应用程序

实现具体业务的处理过程

DBA

数据库的规划、管理、维护

用户

使用数据库系统

9/24
DATABASE SYSTEM

数据库管理系统所在层级

教务应用只向 DBMS 查询成绩,不必自己寻找磁盘上的数据文件

位置

位于应用程序与操作系统之间

向上

接收教务、选课和成绩查询等应用请求

向下

决定数据放在哪个文件、怎样查找得更快

控制

检查谁能查看成绩、多人同时选课是否冲突、故障后怎样恢复

数据库系统层次结构示意图
用户与应用不需要直接管理底层数据文件
10/24
DBMS LAYER

数据库管理系统的主要功能

建表、保存、查询、修改、检查和备份等工作,都由 DBMS 统一处理

定义

定义要描述的对象、相应的属性、约束、数据模式

存储

管理数据文件、数据字典、存取路径、存储空间

操纵

支持对数据的查询、插入、删除、修改操作

运行

数据安全、数据完整性、并发控制、恢复

维护

数据库装载、数据文件转储、数据库重组、性能监视

互访

数据转换、通信、数据库互访

11/24
DBMS FUNCTIONS

数据定义语言和数据操纵语言

定义语言(DDL)描述数据结构,操纵语言(DML)在这些结构上读写数据

Case
SQL
CREATE TABLE enrollment (
  enrollment_id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  student_id CHAR(10) NOT NULL REFERENCES student(student_id),
  course_id CHAR(12) NOT NULL REFERENCES course(course_id),
  semester_code VARCHAR(12) NOT NULL,
  final_score DECIMAL(5, 2) CHECK (final_score BETWEEN 0 AND 100),
  status VARCHAR(16) NOT NULL DEFAULT 'ENROLLED',
  CONSTRAINT uq_enrollment UNIQUE (student_id, course_id, semester_code)
);
SELECT s.student_id, s.name, e.course_id, e.semester_code, e.final_score, e.status
FROM student AS s JOIN enrollment AS e ON e.student_id = s.student_id
WHERE e.semester_code = '2026-FALL' AND e.status = 'ENROLLED' AND e.final_score >= 90;

DDL

CREATE TABLE用于定义基本数据结构

DML

SELECT用于完成最重要的数据操作——查询

约束

告诉数据库管理系统在当前环境中允许哪些数据状态

12/24
DDL AND DML

数据管理是数据处理的中心环节

数据处理是一套完整流程,数据管理关注数据的组织、保存、使用

比较问题数据处理数据管理
要做什么收集、加工、使用和发布数据给数据分类、命名、保存、查找和更新
教务系统收集成绩,计算平均分、最高分、最低分,并生成成绩单保存学生、课程和成绩,让教务与教师都能查询
常见问题这批数据要算出什么结果?数据放在哪里,谁能使用,修改后怎样保持一致?
Takeaway

数据需要固定的名称、保存位置和修改规则,否则会影响计算、共享和查询

13/24
DATA MANAGEMENT

数据管理技术的三个阶段

由程序自己处理;通过文件系统管理;由 DBMS 管理

01

人工管理

从电子计算机诞生到 1950 年代中期以前,数据通常由应用程序直接管理

02

文件系统

1950 年代后期至 60 年代,因为存储技术的进步,数据可以以文件形式长期保存,但共享程度低、冗余度高

03

数据库系统

1960 年代后期以来,数据库技术发展,推动数据整体结构化,并由数据库管理系统统一管理

14/24
DEVELOPMENT STAGES

人工管理阶段

程序读取自己的输入;程序结束后,其他程序通常不能直接使用这些数据

图书馆中的实体资料存储
数据依靠人工分类和实体载体进行管理
  • 数据通常不保存
  • 不同应用不能共享数据
  • 数据不具有独立性
  • 应用程序直接管理数据
15/24
MANUAL MANAGEMENT

文件系统阶段

文件能长期留在磁盘上,但教务、财务和学生管理仍可能各存一份学生资料

早期 IBM 硬盘存储设备
磁盘使数据能够以文件形式长期保存
  • 数据可以长期保存
  • 文件结构和存取方法需要依赖具体应用
  • 多个应用各自保存所需数据,增加了冗余和不一致
  • 文件系统负责管理文件,但没有全局数据模型
16/24
FILE SYSTEM

数据库系统阶段

DBMS 让教务、教师和学生应用共用课程与成绩数据,并按同一规则修改

集中运行数据库服务的服务器设备
服务器为多个应用提供集中管理的数据服务
  • 数据整体结构化
  • 多用户、多应用共享同一批数据
  • 物理和逻辑独立性提高
  • 数据库管理系统负责统一管理和控制数据
17/24
DATABASE SYSTEM

不同阶段的比较

数据能否留下来、能否共用、程序是否必须跟着文件一起修改

比较问题人工管理文件系统数据库系统
长期保存通常不保存可以保存可以保存
共享能力不共享共享性弱共享性强
数据独立性
主要管理者应用程序文件系统数据库管理系统
整体结构化文件内部有结构,但整体分散整体数据结构化
18/24
STAGE COMPARISON

数据库系统的特点

DBMS 关联记录、减少重复,处理修改冲突和系统故障

整体结构化

学生、课程和成绩不再是三个文件,系统记录谁选了哪门课、得了多少分

共享、低冗余、易扩充

教务、教师和学生读取同一份课程数据,不必各自复制后再修改

数据独立性强

管理员更换磁盘或为数据库增加索引时,查成绩的应用通常不需要重写

统一管理和控制

系统检查教师能看哪些成绩、解决同时访问冲突,处理故障后恢复数据

19/24
SYSTEM FEATURES

数据独立性

数据独立性让存储和结构的变化尽量不影响应用程序

硬盘与数据存储结构示意图

物理独立性

数据换到另一块磁盘,或者增加新的查询索引时,应用程序尽量不变

逻辑独立性

课程表增加一个可选字段时,原有的成绩查询程序尽量少改

20/24
DATA INDEPENDENCE

数据库系统的组成

数据库、DBMS、应用程序、计算机、管理员和用户需要一起工作

用户在多台计算机前管理数据库系统

数据库系统 = 数据库 + DBMS + 应用程序 + 硬件与软件 + DBA 与用户

Takeaway

数据和使用这些数据所需的软硬件和人加在一起,才是完整的数据库系统

21/24
SYSTEM COMPOSITION

本节回顾

四个概念、六类功能、三个阶段、四个特点

本课程的四个核心概念

数据 → 数据库 →数据库管理系统→ 数据库系统

数据库管理系统的六类功能

数据定义、数据存储、数据操纵、数据库运行、数据库维护、数据库互访

数据管理发展的三个阶段

人工管理 → 文件系统 → 数据库系统

数据库的四个特点

结构化、共享与低冗余、物理与逻辑独立性、统一控制

22/24
SECTION REVIEW

本节知识地图

23/24
KNOWLEDGE MAP

本节问题

  1. 01数据与语义为什么不可分?
  2. 02数据库、数据库管理系统、数据库系统三个概念有什么区别?
  3. 03文件系统为什么不能充分解决数据共享问题?
  4. 04数据独立性为什么能降低应用维护成本?
  5. 05在不同数据管理阶段,保存方式、共享能力和管理主体发生了哪些变化?
  6. 06DBMS 如何通过自身功能支持数据库系统?
24/24
SECTION QUESTIONS