mcpField
D
database-design

database-design

github.com/davila7数据与数据库33.0k531 次安装1 天前更新
代码仓库

关于 database-design

database-design 是用于按项目情境选择数据库和 ORM、设计数据模式的指导技能。它强调先确认偏好与部署条件,而不是照搬 SQL 模式或默认使用某一种数据库。

主要功能

  1. 01数据库选择指导
  2. 02ORM 选择指导
  3. 03数据模式与关系规划
  4. 04索引策略规划
  5. 05查询优化要点
  6. 06迁移指导

适用场景

  1. 01为应用选择数据库
  2. 02为项目选择 ORM
  3. 03规划数据关系与索引
  4. 04审视查询或迁移方案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davila7/claude-code-templates --skill database-design

安装后在 Claude Code 中输入/database-design确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

database-selection.md
indexing.md
migrations.md
optimization.md
orm-selection.md
schema-design.md
scripts/
schema_validator.py

详细介绍

数据库设计

学会思考,而不是复制 SQL 模式。

🎯 选择性阅读规则

只阅读与请求相关的文件! 查看内容地图,找到你需要的内容。

文件描述何时阅读
database-selection.mdPostgreSQL vs Neon vs Turso vs SQLite选择数据库
orm-selection.mdDrizzle vs Prisma vs Kysely选择 ORM
schema-design.md规范化、主键、关系设计 schema
indexing.md索引类型、复合索引性能调优
optimization.mdN+1、EXPLAIN ANALYZE查询优化
migrations.md安全迁移、无服务器数据库Schema 变更

⚠️ 核心原则

  • 当不清楚时,询问用户的数据库偏好
  • 根据上下文选择数据库/ORM
  • 不要默认对所有情况都使用 PostgreSQL

决策清单

在设计 schema 之前:

  • 询问过用户的数据库偏好?
  • 为此上下文选择了数据库?
  • 考虑了部署环境?
  • 规划了索引策略?
  • 定义了关系类型?

反模式

❌ 对简单应用默认使用 PostgreSQL(SQLite 可能就足够了) ❌ 跳过索引 ❌ 在生产环境中使用 SELECT * ❌ 在结构化数据更好时存储 JSON ❌ 忽略 N+1 查询

评论

支持 Markdown