mcpField
D
database-design

database-design

github.com/vudovn数据与数据库8.2k255 次安装9 周前更新
代码仓库

关于 database-design

面向开发者的数据库设计技能,适用于规划模式、选择数据库或 ORM 及优化查询。它强调结合场景和用户偏好做决策,并按需查阅专题资料。

主要功能

  1. 01数据库与 ORM 选择指引
  2. 02模式设计与关系规划
  3. 03索引和查询优化主题
  4. 04涵盖无服务器数据库的迁移指导
  5. 05通过内容索引按需阅读

适用场景

  1. 01根据应用场景选择数据库和 ORM
  2. 02规划模式关系与索引
  3. 03排查 N+1 查询和查询性能
  4. 04准备模式变更与迁移

安装

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

$npx skills add https://github.com/vudovn/ag-kit --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