mcpField
D
database-design

database-design

github.com/dauquangthanh数据与数据库1738 次安装40 周前更新
代码仓库

关于 database-design

database-design 为设计 SQL 与 NoSQL 数据库的 schema 提供从需求分析到实施验证的指导,适合数据库设计者和开发者。内容涵盖建模、性能、迁移及常见反模式。

主要功能

  1. 01需求分析与使用模式梳理
  2. 02概念、逻辑和物理建模
  3. 03关系与高级设计模式
  4. 04NoSQL 数据结构设计
  5. 05性能优化与迁移指导
  6. 06设计检查清单

适用场景

  1. 01从需求创建数据库 schema
  2. 02规划 MongoDB、Cassandra 或 Redis 数据结构
  3. 03检查设计中的常见反模式
  4. 04准备 schema 迁移与验证

安装

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

$npx skills add https://github.com/dauquangthanh/hanoi-rainbow --skill database-design

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

包含的文件

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

references/
advanced-design-patterns.md
common-anti-patterns-to-avoid.md
database-design-checklist.md
database-design-workflow.md
nosql-database-design.md
performance-optimization.md
schema-migration-best-practices.md

详细介绍

数据库设计

概述

提供全面的指导,帮助为关系型(SQL)和 NoSQL 数据库设计健壮、可扩展且易于维护的数据库架构,涵盖从概念建模到物理实现的全过程。

设计工作流

  1. 需求分析 - 收集数据需求和使用模式
  2. 概念建模 - 创建实体关系图(ERD)
  3. 逻辑建模 - 定义具有关系的规范化架构
  4. 物理建模 - 选择数据类型、索引和约束
  5. 验证 - 根据需求和最佳实践审查设计

快速入门

基础电商架构:

-- Users table
CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  email VARCHAR(255) UNIQUE NOT NULL,
  password_hash VARCHAR(255) NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Products table
CREATE TABLE products (
  id SERIAL PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  description TEXT,
  price DECIMAL(10,2) NOT NULL,
  stock_quantity INTEGER DEFAULT 0,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  INDEX idx_name (name)
);

-- Orders table
CREATE TABLE orders (
  id SERIAL PRIMARY KEY,
  user_id INTEGER REFERENCES users(id),
  total_amount DECIMAL(10,2) NOT NULL,
  status VARCHAR(50) DEFAULT 'pending',
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  INDEX idx_user_created (user_id, created_at)
);

核心原则

  • 从规范化开始,仅在确有必要时才进行反规范化
  • 根据实际查询模式有策略地创建索引
  • 使用约束在数据库层面保证数据完整性
  • 选择适当的数据类型,以优化存储和性能
  • 通过分区和分片策略为增长做好规划
  • 记录设计决策及其理由
  • 使用符合实际情况的数据量进行测试

何时加载参考资料

评论

支持 Markdown