名称:数据库设计 描述:数据库设计原则和决策制定。模式设计、索引策略、ORM选择、无服务器数据库。 允许工具:读取、写入、编辑、全局、搜索
数据库设计
学会思考,而不是复制SQL模式。
🎯 选择性阅读规则
仅阅读与请求相关的文件! 检查内容地图,找到你需要的内容。
| 文件 | 描述 | 何时阅读 |
|---|---|---|
database-selection.md |
PostgreSQL vs Neon vs Turso vs SQLite | 选择数据库 |
orm-selection.md |
Drizzle vs Prisma vs Kysely | 选择ORM |
schema-design.md |
规范化、主键、关系 | 设计模式 |
indexing.md |
索引类型、复合索引 | 性能调优 |
optimization.md |
N+1、EXPLAIN ANALYZE | 查询优化 |
migrations.md |
安全迁移、无服务器数据库 | 模式变更 |
⚠️ 核心原则
- 当不明确时,询问用户的数据库偏好
- 基于上下文选择数据库/ORM
- 不要默认对所有东西使用PostgreSQL
决策清单
在设计模式之前:
- [ ] 询问了用户的数据库偏好?
- [ ] 为此上下文选择了数据库?
- [ ] 考虑了部署环境?
- [ ] 规划了索引策略?
- [ ] 定义了关系类型?
反模式
❌ 对简单应用默认使用PostgreSQL(SQLite可能足够) ❌ 跳过索引 ❌ 在生产中使用SELECT * ❌ 当结构化数据更好时存储JSON ❌ 忽略N+1查询