ER図とは?
ER図(Entity-Relationship図)は、データベースの論理構造を示すデータベースモデリングツールです。エンティティ(テーブル)、その属性(カラム)、およびそれらの間の関係(外部キー)を示します。ER図は、データベース設計者がスキーマ構造を計画し、データ依存関係を特定し、開発者やステークホルダーにデータベースアーキテクチャを伝えるのに役立ちます。
編集とプレビュー
Mermaid構文でER図を作成し、変更を即座に確認。
一般的なユースケース
データベーススキーマ設計
実装前にリレーショナルデータベース構造を計画。新しいアプリケーションのテーブル、カラム、データ型、制約を設計。
ORMモデル計画
Prisma、TypeORM、SQLAlchemyなどのORM用のオブジェクトモデルを視覚化。エンティティをデータベーステーブルにマッピングし、関係を定義。
データ移行
移行前に既存のデータベース構造を文書化。ETLプロセスのためのデータ関係と依存関係を特定。
データベースドキュメント
データベーススキーマのビジュアルドキュメントを作成。開発者がデータモデルとテーブル関係を理解するのを支援。
主な機能
エンティティ定義
標準的なER表記を使用して、属性、主キー、データ型を持つエンティティ(テーブル)を定義。
関係タイプ
適切なカーディナリティ表記で一対一、一対多、多対多の関係をモデル化。
属性プロパティ
NOT NULL、UNIQUE、DEFAULT値、外部キー参照などの属性制約を指定。
Crow's Foot表記
明確な関係視覚化とカーディナリティのための業界標準のCrow's Foot表記を使用。
ベストプラクティス
適切に正規化
冗長性を減らすために正規化原則を適用。通常は第3正規形を目指すが、非正規化のタイミングも理解する。
一貫した命名
エンティティと属性に明確で一貫した命名規則を使用。チームまたは業界標準に従う。
関係を文書化
関係のカーディナリティを明確に指定。役立つ場合は説明的な関係名を使用。
コアエンティティから始める
まず主要なビジネスエンティティを特定し、必要に応じてサポートテーブルとジャンクションテーブルを追加。
他のダイアグラムタイプを探す
フローチャート
ノードと方向矢印でプロセス、ワークフロー、アルゴリズムを視覚化。ビジネスプロセスやデシジョンツリーに最適です。
シーケンス図
異なるアクターやシステム間の時系列でのインタラクションを文書化。APIドキュメントやシステム設計に最適です。
クラス図
クラス、属性、関係でオブジェクト指向システムをモデル化。ソフトウェアアーキテクチャ設計に不可欠です。
ステート図
システムやアプリケーションの状態遷移を表現。ライフサイクル状態やワークフローのモデリングに最適です。
ガントチャート
タスクと依存関係でプロジェクトのタイムラインを計画・追跡。プロジェクト管理やスケジューリングに最適です。
ユーザージャーニー
タッチポイント全体のユーザー体験とインタラクションをマッピング。UXデザインやカスタマージャーニーマッピングに最適です。
Gitグラフ
Gitのブランチ戦略やコミット履歴を視覚化。バージョン管理ワークフローの説明に役立ちます。