关联型数据库学习路线

关联型数据库学习路线 一、数据结构层表是怎么组织的1️⃣ 表Table 数据存储的基本单位2️⃣ 行 / 记录Row 一条具体数据3️⃣ 列 / 字段Column 数据的属性4️⃣ 数据类型Data Type 决定数据怎么存常见INT / BIGINT整数VARCHAR / TEXT字符串DATE / DATETIME时间DECIMAL精确小数二、约束Constraint1️⃣ 主键Primary Key唯一标识2️⃣ 外键Foreign Key表关系3️⃣ 唯一约束UNIQUE不能重复4️⃣ 非空约束NOT NULL不能为空5️⃣ 默认值DEFAULT没传值时用默认值三、索引体系主键索引唯一索引联合索引回表再补几个关键的1️⃣ 普通索引Index 最基础的索引2️⃣ 覆盖索引Covering Index 不需要回表3️⃣ 聚簇索引Clustered Index 数据本身就是索引InnoDB4️⃣ 二级索引Secondary Index 存主键不存整行5️⃣ 索引下推ICP 在索引阶段就过滤数据减少回表6️⃣ 最左前缀原则 联合索引使用规则四、查询相关SQL执行过程核心1️⃣ 查询语句SELECTSELECT*FROMusers;2️⃣ 条件过滤WHERE3️⃣ 排序ORDER BY4️⃣ 分组GROUP BY5️⃣ 聚合函数AggregateCOUNT()SUM()AVG()MAX()MIN()6️⃣ LIMIT分页五、连接查询关系型核心1️⃣ 内连接INNER JOIN 取两边都有的数据2️⃣ 左连接LEFT JOIN 左表全保留3️⃣ 右连接RIGHT JOIN4️⃣ 多表连接六、事务Transaction 保证数据操作“要么全成功要么全失败”1️⃣ ACID 四大特性特性含义A原子性C一致性I隔离性D持久性2️⃣ 事务操作BEGIN;COMMIT;ROLLBACK;3️⃣ 隔离级别读未提交读已提交可重复读MySQL默认串行化七、锁机制并发控制1️⃣ 行锁Row Lock 锁一行2️⃣ 表锁Table Lock3️⃣ 间隙锁Gap Lock4️⃣ 死锁Deadlock八、执行优化进阶1️⃣ 执行计划EXPLAIN 看SQL怎么执行2️⃣ 全表扫描Full Table Scan 最慢情况3️⃣ 索引扫描Index Scan4️⃣ 回表你已经会了5️⃣ 覆盖索引优化手段九、存储引擎MySQL特有1️⃣ InnoDB主流支持事务行锁聚簇索引2️⃣ MyISAM基本淘汰不支持事务十、范式数据库设计1️⃣ 第一范式1NF字段不可再分2️⃣ 第二范式2NF消除部分依赖3️⃣ 第三范式3NF消除传递依赖十一、其他常见概念补充1️⃣ 视图View 虚拟表2️⃣ 存储过程Stored Procedure3️⃣ 触发器Trigger4️⃣ 分库分表大数据量5️⃣ 数据冗余性能 vs 规范