mcpField
D
database-design

database-design

github.com/dauquangthanhデータ・データベース1738 回インストール40 週間前に更新
リポジトリ

database-design について

database-design は、SQL と NoSQL のスキーマ設計を要件整理から実装検証まで支援するガイドです。データベース設計者や開発者向けに、モデリング、性能、移行、設計上の問題点を扱います。

主な機能

  1. 01要件と利用パターンの分析
  2. 02概念・論理・物理モデリング
  3. 03リレーションと高度な設計パターン
  4. 04NoSQL データ構造の設計
  5. 05性能最適化と移行のガイダンス
  6. 06設計検証チェックリスト

活用シーン

  1. 01要件に基づくスキーマ作成
  2. 02MongoDB、Cassandra、Redis の設計
  3. 03一般的なアンチパターンの確認
  4. 04スキーマ移行の準備と検証

インストール

コマンドをコピーしてターミナルで実行します。

$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. 検証 - 要件とベストプラクティスに照らして設計をレビューします

クイックスタート

基本的な E コマースのスキーマ:

-- 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)
);

基本原則

  • まず正規化し、必要性が実証された場合にのみ非正規化します
  • 実際のクエリパターンに基づいて、戦略的にインデックスを設定します
  • データベースレベルでデータの整合性を強制するために、制約を使用します
  • ストレージとパフォーマンスを最適化できる適切なデータ型を選択します
  • パーティショニングとシャーディング戦略を用いて、成長に備えます
  • 設計上の決定とその根拠を文書化します
  • 現実的なデータ量でテストします

リファレンスを参照するタイミング

  • 設計ワークフロー:要件分析、概念/論理/物理モデリング、正規化の手順、リレーションシップのパターンを含む、段階的な設計プロセスについては、database-design-workflow.md を参照してください

  • 高度なパターン:多対多リレーションシップ、継承/ポリモーフィズム、時系列データ、論理削除、監査証跡、階層データについては、advanced-design-patterns.md を参照してください

  • NoSQL 設計:MongoDB のドキュメント、Cassandra のカラムファミリー、Redis のデータ構造を設計する際は、nosql-database-design.md を参照してください

  • アンチパターン:EAV パターンの問題、汎用テーブル、冗長データ、複数値カラムなど、問題のある設計を特定するには、common-anti-patterns-to-avoid.md を参照してください

  • パフォーマンス:クエリの最適化、パーティショニング戦略、キャッシュパターン、インデックスの調整については、performance-optimization.md を参照してください

  • マイグレーション:ダウンタイムなしのマイグレーション、後方互換性、ロールバック戦略については、schema-migration-best-practices.md を参照してください

  • チェックリスト:実装前の包括的な検証については、database-design-checklist.md を参照してください

コメント