关系型数据库学习路线
用阶段化路径组织关系型数据库学习,从基础概念到 SQL、设计、并发、优化、运维与 MySQL/PostgreSQL 对照实践。
#type / synthesis
#status / growing
#tech / dev / backend
#resource / database
#resource / mysql
#resource / postgresql
[!info] related notes
关系型数据库学习路线
范围
这条路线聚焦“从零开始,系统性理解关系型数据库”,并把实践默认落在 MySQL 与 PostgreSQL 上。
为什么要放在一起理解
数据库知识有明显的层级依赖:
- 不先理解关系模型和 SQL,后面的设计与优化会变成记招式
- 不先理解事务、索引和执行流程,MySQL / PostgreSQL 的差异会变成碎片
- 不把理论和实际数据库产品放在一起学,很难建立“原理 -> 行为 -> 工具”的闭环
依赖路径 / 调用链 / 演进链
阶段 0:入门概念
目标是先知道数据库在解决什么问题、DBMS 在负责什么,以及不同数据库的大致定位。
阶段 1:SQL 基础
目标是能自己建表、插入数据、查询与更新,而不是只会在 ORM 后面调用接口。
阶段 2:设计与建模
目标是从业务需求走到表结构,而不是先写表再补解释。
阶段 3:事务、并发与优化
- 事务
- ACID
- 事务隔离级别
- MVCC
- 数据库锁
- 数据库日志
- WAL
- Redo Log
- Undo Log
- Binlog
- SQL 查询执行流程
- 用 EXPLAIN 分析 MySQL 和 PostgreSQL 查询计划
目标是把“为什么慢”“为什么锁住了”“为什么数据看起来不一致”解释清楚。
阶段 4:产品差异与选型
目标是学会对比,而不是把数据库当成可随意互换的黑盒。
阶段 5:本地实践与后续扩展
后续可以继续扩到备份恢复、权限管理、复制、高可用和云数据库。
对比与易混淆点
| 维度 | 常见误区 | 更稳妥的理解 |
|---|---|---|
| 学习顺序 | 先背语法、后补原理 | 先建主线,再通过语法巩固 |
| SQL 与 ORM | 学 ORM 就够了 | ORM 只是接口层,底层仍然是 SQL 和数据库行为 |
| MySQL vs PostgreSQL | 只是语法细节不同 | 在类型、事务实现、索引和扩展性上都有重要差异 |
| 理论 vs 实践 | 理论学完再动手 | 每一阶段都应该立刻做最小实验 |