关于 database-design
用于选择数据库与 ORM、审查架构和索引,并考虑查询性能与迁移的数据库设计技能。它强调根据具体情境决策,并附带只读的启发式架构盘点工具。
主要功能
- 01数据库与 ORM 选择指导
- 02架构和关系设计
- 03索引与查询优化主题
- 04迁移规划指导
- 05只读启发式架构盘点
适用场景
- 01为应用选择数据库
- 02审查架构关系和索引
- 03评估查询性能或迁移方案
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill database-design安装后在 Claude Code 中输入/database-design确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
database-selection.mdindexing.mdmigrations.mdoptimization.mdorm-selection.mdschema-design.mdscripts/schema_validator.py详细介绍
数据库设计
学会思考,而不是照搬 SQL 模式。
🎯 选择性阅读规则
只阅读与请求相关的文件! 查看内容映射,找到所需内容。
| 文件 | 说明 | 何时阅读 |
|---|---|---|
database-selection.md | PostgreSQL、Neon、Turso 与 SQLite 的对比 | 选择数据库时 |
orm-selection.md | Drizzle、Prisma 与 Kysely 的对比 | 选择 ORM 时 |
schema-design.md | 规范化、主键、关系 | 设计架构时 |
indexing.md | 索引类型、复合索引 | 调优性能时 |
optimization.md | N+1、EXPLAIN ANALYZE | 优化查询时 |
migrations.md | 安全迁移、无服务器数据库 | 修改架构时 |
⚠️ 核心原则
- 不明确时,询问用户对数据库的偏好
- 根据上下文选择数据库和 ORM
- 不要默认所有情况都使用 PostgreSQL
决策检查清单
设计架构前:
- 是否询问了用户对数据库的偏好?
- 是否针对当前上下文选择了数据库?
- 是否考虑了部署环境?
- 是否规划了索引策略?
- 是否定义了关系类型?
反模式
❌ 简单应用也默认使用 PostgreSQL(SQLite 可能就够用) ❌ 跳过索引 ❌ 在生产环境中使用 SELECT * ❌ 结构化数据更合适时仍存储 JSON ❌ 忽略 N+1 查询
适用场景
在选择数据库模型、审查架构关系和索引,或使用随附的建议工具评估拟议架构时使用。
架构辅助工具
scripts/schema_validator.py 是只读的启发式清单工具,并非 Prisma 或 Drizzle 解析器。缺少架构、不支持的格式以及仅基于启发式的结果都会返回非零状态,并设置 passed: false 和 analysis_complete: false。请使用项目本地的 ORM 验证器进行语法和类型检查;迁移和约束语义需另行审查。
限制
- 仅当任务明确符合上述范围时才使用此技能。
- 不要将输出视为环境专属验证、测试或专家审查的替代品。
- 如果缺少必要的输入、权限、安全边界或成功标准,请暂停并请求澄清。
评论
支持 Markdown