FE EXAM

E-R図(実体関連図)

エンティティとその関連を図記号で表現したデータベース設計図。

INTERACTIVE VISUALIZATION
エンティティ
主キー
関連
フェーズ
idle
エンティティ数
0
多重度
シナリオ
ステップ1 / 7
STEP 1/7白紙のキャンバスまだ何も描かれていません。これから、現実の業務に出てくる「もの」や「人」を四角で表していきます。今回は「顧客が注文を行う」という場面をE-R図にしていきます。
図記号の意味
四角=エンティティ(実体)
楕円=属性(下線は主キー)
ひし形=リレーションシップ(関連)
1・多=多重度(カーディナリティ)
解説

📌
E-R図とは

顧客注文行う

E-R図(Entity-Relationship Diagram、実体関連図)とは、管理したい「もの・人・出来事」(エンティティ=実体)と、それらの間の「関わり」(リレーションシップ=関連)を図記号で表したデータベースの設計図のことです。

身近な例で考えると、家を建てる前の間取り図に似ています。いきなり柱を立てるのではなく、まず「どの部屋とどの部屋がつながるか」を図にしますよね。データベースも同じで、いきなり表を作るのではなく、E-R図で「どんなデータを、どう結ぶか」を先に描いてから設計します。

上のツールで▶ボタンを押すと、白紙のキャンバスにエンティティを置き、属性・主キー・関連・多重度を順に加えて、1枚のE-R図が完成していく流れを確認できます。

📐
記法のルール

四角エンティティひし形関連楕円属性

E-R図にはいくつかの記法(書き方の流儀)がありますが、基本となる図記号は共通です。代表的なルールは次のとおりです。


四角形=エンティティ:顧客・商品・注文など、データとして記録したい対象を表す
ひし形=リレーションシップ:エンティティ同士のつながり(関連)を表し、中に関連名を書く
楕円=属性:エンティティが持つ項目(氏名・金額など)を表す
下線=主キー:1件を区別できる属性には下線を引く
線の両端の数字=多重度:「1」「多」などで対応関係を示す

なお、実務でよく使われるIE記法(鳥の足記法)では、関連をひし形ではなく線そのもので表し、線の先を「鳥の足(< のような形)」にして「多」を示します。記法は違っても「実体と関連を図で表す」という目的は同じです。

📌
多重度(カーディナリティ)— 関連が何件対何件か

社員社員証111対1(社員1人に1枚)顧客注文11対多(1人が複数注文)学生授業多対多(学生は複数授業、授業も複数学生)多重度の種類1 : 1社員 ↔ 社員証1 : 多顧客 → 注文多 : 多学生 ↔ 授業

多重度(カーディナリティ)とは、2つのエンティティが「何件対何件」で関連しているかを示す情報です。E-R図ではリレーションシップの線の両端に書きます。

多重度には大きく3種類あります。
1対1:一方の1件が、もう一方の1件にしか対応しない(例:社員1人 ↔ 社員証1枚)
1対多:一方の1件が、もう一方の複数件に対応する(例:顧客1人 → 注文は複数)
多対多:どちらの1件も、もう一方の複数件に対応する(例:学生は複数の授業を受講し、授業にも複数の学生が参加)

なぜ多重度が重要か。多重度によって、後でテーブルに変換するときの構造が変わります。特に多対多の関連はそのままテーブルにできません。「学生と授業」の多対多は、「受講」という中間テーブルを追加し、学生IDと授業IDの組み合わせで表現します。E-R図の段階で多重度を明らかにしておくことで、こういった設計上の課題を早めに発見できます。

📌
E-R図の要素とテーブルの対応

E-R図の要素記号テーブルへの変換
エンティティ四角形→ テーブル(表)1つ
属性楕円→ 列(カラム)
主キー属性下線付き楕円→ 主キー列(NOT NULL・UNIQUE)
1対多の関連ひし形+線→「多」側のテーブルに外部キー列を追加
多対多の関連ひし形+線+多対多→ 中間テーブルを新たに作成

なぜE-R図からテーブルへの変換ルールを知っておくのか。E-R図はあくまでデータの関係を「人間が読みやすい形」で表した設計図です。実際にデータベースソフトに入力するには、上の表のルールに従って「テーブル(表)の集合」へ変換する必要があります。

特に覚えておきたいのは多対多の関連の扱いです。「学生と授業」の関係をそのままテーブルにしようとすると、1つのセルに複数の値(授業ID)を入れる必要が出てしまいます。これは正規化のルールに違反します。そこで「受講」という中間テーブルを作り、「学生ID・授業ID・受講日」などをセットで1行として持たせます。この変換パターンは非常によく出てくるので、図で確認しながらイメージをつかんでおきましょう。

🛠️
DB設計での使い方

E-R図テーブル(表)設計

E-R図は、頭の中のあいまいな要件を、誰が見ても同じ意味になる「共通の設計図」に変える道具です。利用者・設計者・開発者が同じ図を見て話せるので、認識のズレを防げます。

実際の設計では、E-R図から関係データベースの表へ次のように落とし込みます。
エンティティ → 表(テーブル):1つのエンティティが1つの表になる
属性 → 列(カラム):属性が表の列になる
主キー → 主キー列:下線を引いた属性がそのまま主キーになる
1対多の関連 → 外部キー:「多」側の表に「1」側の主キーを外部キーとして持たせて結ぶ

このように、E-R図は「業務の理解」と「実際の表の設計」をつなぐ橋渡し役です。先に図でしっかり整理しておくことで、後から「列が足りない」「表のつなぎ方を間違えた」といった作り直しを減らせます。

練習問題

🎯
基本情報技術者 練習問題

Q1.E-R図の説明として最も適切なものはどれか。
A.プログラムの処理手順を図形で表したもの
B.エンティティ(実体)とその関連を図記号で表したデータベース設計図
C.ネットワーク機器の接続関係を表した図
D.システムの画面遷移を表した図
Q2.E-R図において、四角形(長方形)で表すものはどれか。
A.エンティティ(実体)
B.リレーションシップ(関連)
C.属性
D.多重度
Q3.E-R図でリレーションシップの両端に書く「1」「多」などの数の対応を何と呼ぶか。
A.主キー
B.属性
C.多重度(カーディナリティ)
D.正規形

関連コンテンツ