数据库管理系统 · DBMS

📌 一句话理解

数据库管理系统就像“图书馆管理员”:你告诉管理员要什么书(查询数据),管理员知道书在哪(数据位置),帮你快速找到并拿给你,还会帮你保管、整理、登记借还。


📚 用“图书馆”来理解DBMS

┌─────────────────────────────────────────────────────────────────┐
│                    DBMS = 图书馆管理员                           │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                    图书馆                                │   │
│   │                                                         │   │
│   │   ┌─────────────┐                      ┌─────────────┐  │   │
│   │   │   读者      │                      │  管理员     │  │   │
│   │   │  (用户)     │  ──── 借书 ────►    │  (DBMS)     │  │   │
│   │   │             │                      │             │  │   │
│   │   │  我想借     │  ◄─── 给你书 ────   │  我知道书   │  │   │
│   │   │  《西游记》  │                      │  放在哪     │  │   │
│   │   └─────────────┘                      └──────┬──────┘  │   │
│   │                                                │        │   │
│   │                                                ▼        │   │
│   │                                         ┌─────────────┐ │   │
│   │                                         │   书架      │ │   │
│   │                                         │  (数据库)   │ │   │
│   │                                         └─────────────┘ │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│   读者不用知道书在哪,告诉管理员就行                              │
│   管理员管理所有书籍,知道每本书的位置                            │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

🗄️ DBMS是什么?

数据库管理系统(DBMS,Database Management System) 是管理和操作数据库的基础软件,负责数据的存储、查询、更新、备份和安全管理。

┌─────────────────────────────────────────────────────────────────┐
│                    DBMS的角色                                   │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌─────────────┐                                              │
│   │   用户/应用  │                                              │
│   │  (你的程序)  │                                              │
│   └──────┬──────┘                                              │
│          │ 发送请求                                             │
│          ▼                                                      │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                   DBMS(数据库管理系统)                  │   │
│   │                                                         │   │
│   │   ┌─────────────────────────────────────────────────┐   │   │
│   │   │  查询处理  │  事务管理  │  并发控制  │  恢复管理  │   │   │
│   │   └─────────────────────────────────────────────────┘   │   │
│   │                                                         │   │
│   │   ┌─────────────────────────────────────────────────┐   │   │
│   │   │  权限管理  │  索引管理  │  缓存管理  │  日志管理  │   │   │
│   │   └─────────────────────────────────────────────────┘   │   │
│   └─────────────────────────────────────────────────────────┘   │
│          │                                                      │
│          ▼                                                      │
│   ┌─────────────┐                                              │
│   │   数据库     │                                              │
│   │  (实际数据)  │                                              │
│   └─────────────┘                                              │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

🔧 DBMS的主要功能

功能说明图书馆类比
数据定义创建和修改数据库结构规划书架分类、图书编号规则
数据操纵增、删、改、查数据借书、还书、登记新书
数据控制权限管理、安全控制只有管理员才能进书库
数据维护备份、恢复、性能优化定期盘点、修补破损图书

📊 常见的数据库管理系统

名称开发商特点适合场景
MySQLOracle(开源)免费、轻量、流行网站、App后台
PostgreSQL开源社区功能全面、标准复杂业务系统
OracleOracle强大、安全、贵银行、大企业
SQL Server微软易用、集成好微软生态应用
SQLite开源嵌入式、轻量手机App、小程序

💡 小提示:你手机里的很多App,用的就是SQLite数据库!


🏠 生活中的DBMS

┌─────────────────────────────────────────────────────────────────┐
│                    你每天都在用DBMS                              │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  微信聊天记录                                             │   │
│   │  你发一条消息 → DBMS存到数据库 → 对方打开时,DBMS快速查到   │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  淘宝购物车                                               │   │
│   │  你加一件商品 → DBMS记下来 → 下次打开,DBMS帮你查出来       │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  学校成绩查询系统                                          │   │
│   │  输入学号 → DBMS查数据库 → 显示你的成绩                     │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  短视频推荐                                               │   │
│   │  刷到一个视频 → DBMS记录你看了 → 算法推荐更多类似视频        │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

✅ 为什么需要DBMS?

问题没有DBMS有DBMS
存储文件散落各处,难找集中管理,结构清晰
查询手动打开文件查找SQL一句话搞定
安全任何人都能改文件权限控制,谁有权限谁操作
多人同时用可能互相覆盖自动协调,不会冲突
崩溃数据可能丢自动恢复,保证完整

📝 SQL:和DBMS说话的语言

SQL(结构化查询语言) 是专门用来和DBMS交流的语言。

操作SQL语句说明
SELECT * FROM 学生 WHERE 班级='高一1班'查高一1班所有学生
INSERT INTO 学生 VALUES ('张三', '高一1班')添加学生张三
UPDATE 学生 SET 班级='高一2班' WHERE 姓名='张三'把张三调到2班
DELETE FROM 学生 WHERE 姓名='张三'删除张三的信息

💡 小提示:程序员写代码时,就是用SQL语句告诉DBMS要做什么。


🔗 相关术语


📚 教材链接

  • 教材位置:第四章 4.2.1 基础软件及其作用

✅ 自测小问题

  1. DBMS的全称是什么?中文是什么意思?
  2. DBMS的主要功能有哪些?
  3. 常见的DBMS有哪些?
  4. SQL是做什么用的?
点击查看答案
  1. Database Management System,中文:数据库管理系统
  2. 数据定义、数据操纵、数据控制、数据维护(增删改查+权限+备份)
  3. MySQL、PostgreSQL、Oracle、SQL Server、SQLite
  4. 和DBMS交流的语言,用来查询、添加、修改、删除数据