一、定位与特色
- 目标读者:零基础入门者、需要复习数据库设计的老手、希望把 AI 引入数据库工作流的开发者。
- 写作风格:用“图灵系”一贯的图解与对话方式,把枯燥的范式、约束、索引讲得像故事一样。
- 配套资源:GitHub 提供全章 SQL 脚本、dbdiagram.io 可视化、liveBook 在线讨论区,与 ChatGPT 互动示例可直接复用。
二、全书结构速览
| 部分 | 核心任务 | 关键产出 | 
| Part 1  Get started | SQL 基础 + 数据库设计全景 | 能写 SELECT、JOIN;懂得“好表”与“烂表”的差别 | 
| Part 2  Master database design | 完整走完“需求→建模→范式→实现→安全优化” | 一张可落地的完整 E-R 图 + 高性能 SQL 建库脚本 | 
| Part 3  Database design and AI | 用 ChatGPT 全流程加速设计 | 一套可复制的“Prompt-验证-迭代”工作流 | 
三、Part 1 精华提炼
- 为什么放弃 Excel 用数据库
 用“科幻商店订单爆炸”小故事,点明冗余、异常、性能三大痛点。
- SQL 速成三件套
- SELECT-FROM-WHERE:单表过滤与聚合
- JOIN-ON:多表关联的四种 JOIN 语义(INNER / LEFT / RIGHT / FULL)
- DDL:CREATE / ALTER / DROP + 外键约束实战
 
- 第一次建模鸟瞰
 把需求拆成“实体-属性-关系”三张便利贴,为后续范式优化埋下伏笔。
四、Part 2 深度拆解
4.1 实体与属性
- 命名规范:统一 snake_case,主键用单数表名+id,避免 SQL 关键字。
- 数据类型选型速查表
| 场景 | 推荐 | 避坑 |  
| 固定长度编码 | CHAR(12) | VARCHAR 浪费字节 |  
| 金额 | DECIMAL(8,2) | FLOAT 精度灾难 |  
| 大段文本 | TEXT + 全文索引 | VARCHAR(65535) 拖慢查询 |  
 
- 主键决策树:天然键 vs. 代理键、复合键 vs. 单列键,附赠“何时打破规则”示例。
4.2 关系与基数
- 三大量化符号:|(1)、○(0)、➚(多)。
- 关系类型口诀
- 一对一:外键放哪边看“0”在哪边。
- 一对多:外键一定放“多”。
- 多对多:必建桥表,桥表主键即双方主键之组合。
 
- 弱实体场景:订单明细、地址记录——谁离开谁就活不下去,就标成双框。
4.3 范式化与实现
- 3NF/BCNF 检查单
 ① 每表有主键
 ② 无多值列
 ③ 非主键列必须“直接”依赖主键
 ④ 无传递依赖
- 反范式武器库:
- 冗余表合并 → 地址表统一 customer、billing
- 枚举抽表 → 50 个州独立成 state 表
- 级联动作 → ON DELETE/UPDATE CASCADE 防孤儿记录
 
- 约束全家桶:NOT NULL、UNIQUE、CHECK、DEFAULT、FOREIGN KEY,附命名规范示例。
4.4 安全与优化
- 安全三板斧
- 完整性:外键 + 事务
- 机密性:密码用 bcrypt、信用卡用 AES-256
- 访问控制:RBAC 角色分级脚本示例
 
- 索引策略
- 排序/等值查询 → B-tree 普通索引
- 关键词搜索 → FULLTEXT 倒排索引
- 低基数字段 → 谨慎索引,避免写放大
 
- 去范式(Denormalization)决策树:高频三表 JOIN → 评估收益 > 冗余成本 → 才做冗余列或冗余关系。
五、Part 3 用 AI 设计数据库
- Prompt 黄金法则
- 指令与上下文用 ### 分离
- 给出输出格式示例
- 迭代提问,步步验证
 
- 示范项目:SHIPS R US 飞船制造商
- 需求 → 5 个核心实体 → ChatGPT 初稿
- 人工校正:代理键、地址拆表、国家码外键表
- 一键生成 MySQL 脚本 → dbdiagram.io 可视化
 
- AI 能做什么 / 不能做什么
 ✔ 快速列实体/属性/关系
 ✔ 生成样板 SQL 与测试数据
 ✘ 业务规则细节必须人工把关
 ✘ 性能调优需结合实际查询日志
六、阅读收获
- 技能:从零设计一张满足 3NF、具备完整约束与索引的生产级数据库。
- 思维:需求→模型→范式→反范式→安全优化的闭环思路。
- 工具链:SQL + E-R 图 + ChatGPT + 可视化工具,现代数据库开发 All in one。
一句话总结:Grokking Relational Database Design 用漫画式讲解 + AI 实战,让“数据库设计”这门硬核手艺变得既直观又紧跟时代。