database-design について
database-design は、SQL と NoSQL のスキーマ設計を要件整理から実装検証まで支援するガイドです。データベース設計者や開発者向けに、モデリング、性能、移行、設計上の問題点を扱います。
主な機能
- 01要件と利用パターンの分析
- 02概念・論理・物理モデリング
- 03リレーションと高度な設計パターン
- 04NoSQL データ構造の設計
- 05性能最適化と移行のガイダンス
- 06設計検証チェックリスト
活用シーン
- 01要件に基づくスキーマ作成
- 02MongoDB、Cassandra、Redis の設計
- 03一般的なアンチパターンの確認
- 04スキーマ移行の準備と検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dauquangthanh/ hanoi-rainbow --skill database-designインストール後、Claude Code で/database-designを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/advanced-design-patterns.mdcommon-anti-patterns-to-avoid.mddatabase-design-checklist.mddatabase-design-workflow.mdnosql-database-design.mdperformance-optimization.mdschema-migration-best-practices.md詳細
データベース設計
概要
概念モデリングから物理実装まで、リレーショナル(SQL)データベースと NoSQL データベースの両方について、堅牢でスケーラブル、かつ保守しやすいデータベーススキーマを設計するための包括的なガイダンスを提供します。
設計ワークフロー
- 要件分析 - データ要件と利用パターンを収集します
- 概念モデリング - エンティティ・リレーションシップ図(ERD)を作成します
- 論理モデリング - リレーションシップを含む正規化されたスキーマを定義します
- 物理モデリング - データ型、インデックス、制約を選択します
- 検証 - 要件とベストプラクティスに照らして設計をレビューします
クイックスタート
基本的な 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 を参照してください