“数据库”(Database)是指长期存储在计算机内、有组织的、可共享的数据集合,其核心特点是数据的结构化、持久化、独立性与共享性。而“数据库管理系统”(DBMS, Database Management System)是用于创建、管理、操作和保护数据库的软件系统,如 MySQL、Oracle、SQL Server、PostgreSQL 等。DBMS 提供数据定义(DDL)、数据操作(DML)、事务管理、并发控制、安全性与完整性约束等功能,是用户与数据库之间的中间层。
简言之:
- 数据库 =数据的集合(what);
- 数据库管理系统 =管理该集合的软件工具(how)。
二者关系类比为:
- 数据库 ≈ 图书馆中的所有图书(数据资源);
- DBMS ≈ 图书馆管理系统(含借阅、编目、检索、权限控制等功能的软件)。
数据库管理系统(DBMS)的主要功能包括以下五类,涵盖数据管理的全生命周期:
数据定义功能
提供数据定义语言(DDL),如CREATE、ALTER、DROP等语句,用于定义数据库的结构(模式)、表、视图、索引、约束(主键、外键、唯一性等),建立数据的逻辑与物理组织。数据操作功能
提供数据操纵语言(DML),如SELECT、INSERT、UPDATE、DELETE,支持用户对数据库中的数据进行查询、增删改等动态操作。数据存储与管理功能
负责数据的物理存储组织(如页、块、文件结构)、存取路径优化(索引管理)、缓冲区管理、磁盘空间分配与回收,确保高效、可靠的持久化存储。事务管理与并发控制功能
保障事务的 ACID 特性(原子性、一致性、隔离性、持久性);通过锁机制、时间戳、多版本并发控制(MVCC)等技术协调多个用户/进程同时访问数据,防止脏读、不可重复读、幻读等问题。安全性与完整性控制功能
- 安全性:通过用户认证、权限管理(GRANT/REVOKE)、审计日志等机制防止未授权访问;
- 完整性:支持实体完整性(主键非空且唯一)、参照完整性(外键约束)、域完整性(CHECK、数据类型、NOT NULL)及用户自定义约束,确保数据正确、有效、符合业务规则。
此外,现代 DBMS 还常集成备份恢复、日志管理、性能监控、高可用(主从复制/集群)、SQL 解析与优化器等高级功能。