ER図のサンプル
よく課題に出るシステムのデータベース設計を、そのまま動く SQL とともに載せています。各ページで ER図とテーブル定義書が無料で全体表示され、SQL はコピーして使えます。
記法が初めてなら、コピーする前に ER図とは のページで箱と線端の意味を確認してください。
- 学校管理システム
学校管理システムの ER図:生徒・教員・科目・開講クラス・履修(成績)・出欠。テーブル定義書と SQL つき。
- 病院管理システム
病院管理システムの ER図:患者・医師・診療科・外来予約・入院・処方。テーブル定義書と SQL つき。
- 図書館管理システム
図書館管理システムの ER図:図書・著者・蔵書(現物)・利用者・貸出・予約。テーブル定義書と SQL つき。
- E-commerce Store の ER図
学べること: 値を持つ中間テーブル、自己参照するカテゴリ、購入時点で固定する価格
- Blog Platform の ER図
学べること: 5 つのテーブルにすべての種類のリレーション。最初に学ぶ定番のスキーマ
- Hotel Management System の ER図
学べること: 期間で表す予約と、空室状況がカラムではなくクエリである理由
- Banking System の ER図
学べること: 同じテーブルへの 2 本の外部キーと、追記のみの元帳
- Inventory Management System の ER図
学べること: 在庫の合計と入出庫の履歴、その突き合わせ
- CRM の ER図
学べること: データとして持つパイプラインの段階と、会社・担当者・商談の三角形
- Restaurant Management System の ER図
学べること: 部品表のようなレシピの中間テーブルと、予約時ではなく案内時に決まるテーブル(席)
- Northwind Database の ER図
学べること: 自然キー、自己参照する組織図、ship_via という名前の外部キー
- AdventureWorks Database の ER図
学べること: 人・店舗・仕入先が共有するスーパータイプのテーブルと、Microsoft 自身が書いたカラムの注記
- Sakila Database の ER図
学べること: staff と store のあいだの外部キーの循環と、トリガーで同期する検索用コピー
- Chinook Database の ER図
学べること: 名前からは読み取れない、同じテーブルへの 2 本の外部キーと、販売時点で固定する価格
これらのサンプルは英語のページで開きます。日本語に訳してあるのは上の三つです。
コピーする前によくある質問
データベーススキーマの主な種類は?
よく挙がる名前は四つです。フラット型(テーブル一つでリレーションなし)、階層型(厳密な親子の木構造)、ネットワーク型(レコードが複数の親を持てる)、リレーショナル型(キーで結ばれたテーブル)です。下のサンプルはすべてリレーショナル型です。PostgreSQL、MySQL、SQL Server、SQLite がそれにあたるからです。残りの三つは、ほとんどが歴史上のものか、そもそもテーブルで作られていないドキュメント DB やグラフ DB を説明するための言い方です。
これらのスキーマを自分のプロジェクトや課題に使ってもいいですか?
はい。各ページに SQL の全文があり、PostgreSQL でそのまま動きます。これらは本番用ではなく学習用のスキーマです。どれも一度に読み切れる大きさです。どれも一つの設計判断を軸にしていて、その判断はまねしてもいいし、反論してもかまいません。課題では反論も同じくらい役に立ちます。
サンプルを自分のデータベースの ER図にするには?
SQL を差し替えます。pg_dump --schema-only か mysqldump --no-data でスキーマを書き出し、サンプルの上に貼り付けてください。Prisma スキーマ、DBML、Mermaid、PlantUML、Django・SQLAlchemy・Sequelize・TypeORM のモデルも貼り付けられます。形式は貼り付けた内容から判定します。何もアップロードされません。解析はブラウザの中で行われます。
どのサンプルから始めればいいですか?
5 つのテーブルですべての種類のリレーションを見たいなら、ブログのスキーマから始めましょう。自分のデータを持つ中間テーブルが必要なら EC サイトを。問題の本質が時間なら、ホテルか図書館のスキーマを。予約・貸出・空き状況は、初心者がクエリをカラムとして設計してしまいがちなところです。SQL の授業で出会うデータベースなら、Northwind か Chinook から。実際の会社に近い形なら AdventureWorks を選んでください。
ご自身のスキーマがあるなら、トップページに貼り付けてください。同じツールで、あなたのテーブルが描けます。印刷できる資料は、テーブル定義書の自動生成で作れます。