数据库设计原则和决策制定。模式设计、索引策略、ORM选择、无服务器数据库。
技能概述
database-design 技能专注于数据库设计原则和决策制定。该技能强调"学会思考,而不是复制SQL模式"的核心理念,帮助开发者根据上下文选择合适的数据库和ORM,设计优化的模式,并实现高效的索引策略。
下载地址:https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/database-design
选择性阅读规则
仅阅读与请求相关的文件!检查内容地图,找到您需要的内容。
| 文件 | 描述 | 何时阅读 |
|---|---|---|
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查询
使用限制
- 仅当任务明显符合上述描述的范围时才使用此技能
- 不要将输出作为环境特定验证、测试或专家审查的替代品
- 如果缺少所需的输入、权限、安全边界或成功标准,请停止并要求澄清