mcpField
D
database-schema-design

database-schema-design

github.com/aj-geddesデータ・データベース373593 回インストール34 週間前に更新
リポジトリ

database-schema-design について

正規化されたデータベーススキーマ、リレーション、制約、データ型の設計を支援するリファレンススキルです。新しいデータベースのモデル化やテーブル構成の見直しを行う開発者向けに、1NF、2NF、3NFとエンティティ・リレーションパターンのガイドを提供します。

主な機能

  1. 011NF、2NF、3NFのガイド
  2. 02エンティティ・リレーションパターンの指針
  3. 03リレーションと制約に関する助言
  4. 04PostgreSQLの正規化例

活用シーン

  1. 01新しいデータベーススキーマの計画
  2. 02テーブルとリレーション構成の定義
  3. 03正規化と制約の確認

インストール

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

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill database-schema-design

インストール後、Claude Code で/database-schema-designを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
entity-relationship-patterns.md
first-normal-form-1nf.md
second-normal-form-2nf.md
third-normal-form-3nf.md
scripts/
validate-schema.sh
templates/
migration-template.sql

詳細

データベーススキーマ設計

目次

概要

適切なリレーション、制約、データ型を備えた、スケーラブルで正規化されたデータベーススキーマを設計します。正規化の手法、リレーションのパターン、制約の設定方法を含みます。

使用する場面

  • 新しいデータベーススキーマの設計
  • データモデルの計画
  • テーブル構造の定義
  • リレーションの設計(1:1、1:N、N:N)
  • 正規化の分析
  • 制約とトリガーの計画
  • スキーマレベルでのパフォーマンス最適化

クイックスタート

PostgreSQL - 繰り返しグループの排除:

-- NOT 1NF: repeating group in single column
CREATE TABLE orders_bad (
  id UUID PRIMARY KEY,
  customer_name VARCHAR(255),
  product_ids VARCHAR(255)  -- "1,2,3" - repeating group
);

-- 1NF: separate table for repeating data
CREATE TABLE orders (
  id UUID PRIMARY KEY,
  customer_name VARCHAR(255),
  created_at TIMESTAMP DEFAULT NOW()
);

CREATE TABLE order_items (
  id UUID PRIMARY KEY,
  order_id UUID NOT NULL,
  product_id UUID NOT NULL,
  quantity INTEGER NOT NULL,
  FOREIGN KEY (order_id) REFERENCES orders(id) ON DELETE CASCADE
);

リファレンスガイド

詳細な実装については、references/ ディレクトリを参照してください。

ガイド内容
第一正規形(1NF)第一正規形(1NF)
第二正規形(2NF)第二正規形(2NF)
第三正規形(3NF)第三正規形(3NF)
エンティティ・リレーションシップのパターンエンティティ・リレーションシップのパターン

ベストプラクティス

✅ 推奨事項
  • 確立されたパターンや規約に従ってください
  • 読みやすく、保守しやすいコードを書いてください
  • 適切なドキュメントを追加してください
  • デプロイ前に十分なテストを行ってください
❌ 避けるべきこと
  • テストや検証を省略しないでください
  • エラー処理を無視しないでください
  • 設定値をハードコードしないでください

コメント