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を入力して読み込まれたか確認します。

詳細

データ管理

ワークフロー

  • スキーマ設計:テーブル、リレーションシップ、制約を定義します
  • マイグレーション:スキーマの変更をバージョン管理します
  • インデックス作成:クエリのパフォーマンス向上のためにインデックスを追加します
  • バックアップ:データを復旧できるようにします

スキーマ設計の原則

正規化
  • 第1正規形:値は原子的で、繰り返しグループがありません
  • 第2正規形:部分関数従属性がありません
  • 第3正規形:推移的関数従属性がありません
非正規化する場合
  • 読み取りが多いワークロード
  • レポート作成/分析
  • キャッシュレイヤー

マイグレーションのベストプラクティス

前進のみのマイグレーション

各マイグレーションは、単一の前進ステップにします。

-- 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);
安全なマイグレーション
  • 最初はカラムを NULL 許容として追加します
  • インデックスは同時に作成します
  • 同じデプロイでカラムを削除しないでください

インデックス戦略

-- 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 型の使用を検討します

コメント