mcpField
D
data-management

data-management

github.com/dralgorhythm数据与数据库12862 次安装14 周前更新
代码仓库

关于 data-management

面向开发者的数据管理技能,涵盖关系型数据库的结构设计、迁移、索引、备份和连接管理,并提供数据完整性与安全变更建议。

主要功能

  1. 01规范化与反规范化指导
  2. 02仅向前的迁移实践
  3. 03索引选择策略
  4. 04备份与恢复规划
  5. 05连接池与完整性约束

适用场景

  1. 01设计表、关系和约束
  2. 02规划有版本控制的结构变更
  3. 03通过索引提升查询性能
  4. 04规划数据库恢复与连接管理

安装

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

$npx skills add https://github.com/dralgorhythm/claude-agentic-framework --skill data-management

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

详细介绍

数据管理

工作流

  • 架构设计:定义表、关系和约束
  • 迁移:对架构变更进行版本控制
  • 索引:添加索引以提升查询性能
  • 备份:确保具备数据恢复能力

架构设计原则

规范化
  • 1NF:值不可再分,不存在重复组
  • 2NF:不存在部分依赖
  • 3NF:不存在传递依赖
适合反规范化的场景
  • 读取密集型工作负载
  • 报表/分析
  • 缓存层

迁移最佳实践

仅向前迁移

每次迁移都应是单个向前步骤。

-- migrations/001_create_users.sql
CREATE TABLE users (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  email VARCHAR(255) NOT NULL UNIQUE,
  created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);

CREATE INDEX idx_users_email ON users(email);
安全迁移
  • 首先将新增列设为可空
  • 并发创建索引
  • 切勿在同一次部署中删除列

索引策略

-- B-tree (default): Equality and range queries
CREATE INDEX idx_users_email ON users(email);

-- Partial index: When you query a subset
CREATE INDEX idx_active_users ON users(id) WHERE active = true;

-- Composite index: Multiple columns
CREATE INDEX idx_orders_user_date ON orders(user_id, created_at DESC);

连接管理

// Use connection pooling
const pool = new Pool({
  max: 20,                    // Max connections
  idleTimeoutMillis: 30000,   // Close idle connections
  connectionTimeoutMillis: 2000
});

数据完整性

  • 使用外键约束
  • 在适当情况下添加 NOT NULL
  • 使用 CHECK 约束进行验证
  • 考虑对固定值使用 ENUM 类型

评论

支持 Markdown