1. 引言
本章围绕“数据库系统是什么、为何需要它们以及它们如何演化”展开,帮助建立后续章节的认知框架。
1.1 数据库与数据库管理系统
- 数据库(Database):为刻画现实世界的实体与关系而组织的数据集合,规模大、类型多且长期存在。
- 数据库管理系统(DBMS):用于存储、管理和保护数据库的软件,向上提供统一接口,向下屏蔽存储细节。
- 数据库系统(DBS):由应用程序、DBMS、数据库以及数据库管理员(DBA)共同构成。
| 概念 | 关键作用 |
|---|---|
| 数据库 | 模拟现实世界,记录实体属性及相互关系 |
| DBMS | 负责数据定义、存取、并发、恢复、安全等 |
| DBA | 规划、维护并保障数据库服务质量 |
1.2 从文件到数据库
传统文件处理存在以下痛点:
- 需要应用自行管理缓冲、分页、地址等繁琐细节。
- 每种查询都要编写专用代码,难以统一优化。
- 多用户并发导致数据不一致,缺乏锁与恢复机制。
- 缺少权限、审计等安全能力。
DBMS 的优势体现在:
- 数据独立性与高效访问:通过模式-实例分离,降低应用耦合度。
- 集中管理:强制完整性约束、实现统一安全策略。
- 开发效率:标准化的 DDL、DML、视图等语言特性。
- 并发与恢复:内建锁管理、日志、崩溃恢复。
1.3 为什么学习数据库
- 社会从“计算”走向“信息”,数据规模与多样性急剧增长(数字图书馆、基因组、遥感等)。
- 数据库技术贯穿操作系统、编译、理论、AI、多媒体等计算机科学核心领域。
- 学习数据库有助于理解信息系统的建模、存储、访问与治理全流程。
1.4 数据、数据模型与模式
- 数据(Data):描述客观事物的符号,是信息的载体。
- 数据模型(Data Model):刻画数据结构、约束与操作的一组概念(如关系模型)。
- 模式(Schema):在某个数据模型下对特定数据集合的描述。
关系模型是当今主流:
- 每个关系对应一张“表”,由行(元组)与列(属性)组成。
- 模式描述列名、数据类型及约束。
1.5 ANSI-SPARC 三层架构
ANSI-SPARC 体系将数据库抽象为三层:
- 外部模式(View):面向具体用户或应用的视图。
- 概念模式(Logical Schema):全局逻辑结构,定义所有实体及关系。
- 内部/物理模式(Physical Schema):描述存储文件、索引等实现细节。
模式通过 DDL 定义,实例数据通过 DML 操作。三层分离保障逻辑与物理数据独立性,是使用 DBMS 的核心收益之一。
1.6 数据库技术发展与分类
按数据模型
- 1960 年前:无统一管理,面向科学计算。
- 1960s:文件系统出现,IDS(网络型)与 IMS(层次型)。
- 1970 年:Codd 提出关系数据模型,逐渐成为主流。
- 此后:对象、演绎、ER、面向对象-关系、XML 等模型不断出现。
按系统架构
集中式 → 并行 → 分布式 → 客户端/服务器 → 多层与 Web → 移动、云与网格。
按应用领域
OLTP、工程、时空、多媒体、数据仓库/OLAP、数据挖掘、知识管理等,各自带动 DBMS 能力扩展。
1.7 DBMS 核心能力
- 高级接口:图形工具、API、查询语言。
- 查询处理与优化:解析、重写、执行计划选择。
- 目录/元数据管理:记录模式、统计信息。
- 并发控制与恢复:事务、锁、日志、检查点。
- 完整性与安全:约束、视图、权限、审计。
1.8 数据库系统生命周期
- 规划:评估信息需求、业务流程、技术条件。
- 设计:概念、逻辑、物理设计及规范化。
- 建库与加载:搭建环境、导入初始数据。
- 运行与维护:备份恢复、性能优化、权限管理。
- 扩展与重构:适配新需求、新平台。
1.9 课程与参考
- 第 2 章:数据模型(关系、层次、网络、ER、面向对象等)。
- 第 3 章:SQL 语言与用户接口。
- 第 4 章:DBMS 架构、查询优化、事务、并发与恢复。
- 第 5 章:安全性与完整性约束。
- 第 6 章:数据库设计方法与规范化。
- 拓展:新型数据库与研究方向。
参考教材:Ramakrishnan & Gehrke《Database Management Systems》第三版;王珑《数据库系统教程》等。
1.10 小结与思考
- 数据库、DBMS 与数据库系统的区别是什么?
- 文件处理模式为何无法满足现代数据管理需求?
- 数据模型、模式与实例之间的关系如何?
- ANSI-SPARC 三层架构如何具体支撑数据独立性?
带着这些问题继续学习,可逐步构建对数据库系统的整体理解。