flowchart LR
N0["01 关系模型"]
N1["02 约束与 SQL"]
N2["03 事务与隔离"]
N3["04 索引与计划"]
N4["05 MySQL 实践"]
N5["06 PostgreSQL 对照"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
关系型数据库
现代 Java Backend Engineering 学习路线:关系型数据库
0 子目录5 文档

CHAPTER OVERVIEW · 章节概览
先建立表、约束、查询与事务模型,再比较 MySQL 和 PostgreSQL;根据执行计划判断优化方向。
本章学习路线
箭头表示建议的学习顺序;先理解问题,再逐步进入实现与实践。
按顺序学习
5数据库、缓存与搜索:从零开始的阶段导学用户关闭程序后,订单还要存在;两个人同时修改数据时,结果也要符合业务规则。这是学习关系数据库的起点。先掌握表、约束、查询和事务,缓存与搜索则放到对应章节继续学,不急着把所有存储产品混在一起。数据库原理与 SQL:模型、约束、查询、事务与执行计划设计用户表时,哪些字段必须有值,用户名能否重复,一次转账怎样避免只完成一半?这些问题会自然引出约束和事务。下面先用关系模型把数据说清,再用 SQL 表达查询与修改。MySQL:InnoDB、索引、事务、MVCC、日志与性能调优同一条 SQL 在小表里很快,数据一多却变慢,往往要从索引和执行计划找原因。先理解 InnoDB 如何组织记录,再看事务、锁和日志,就能把查询速度与数据正确性放在一起分析。PostgreSQL 基础:类型、索引、MVCC、执行计划与选型学过 SQL 之后,可以通过 PostgreSQL 进一步练习建表、约束和事务。不要只寻找与 MySQL 相似的命令;也要留意它自己的类型和执行行为。下面按从写入到查询的过程,介绍最常用的部分。数据库、缓存与搜索推荐阅读查 SQL 写法、解释执行计划、了解缓存一致性,需要的资料不同。先确认当前问题属于哪一类,再选下面的入口。选数据库也一样:先看数据怎样读写和需要什么保证,再比较产品特性。