ER図とは?3種類の関連と多対多

公開: 更新: カテゴリ: マネジメント系

30秒で結論

ER図とは(全体像)

ER図は、「Entity-Relationship Diagram」の略。データ(とくにデータベース)の構造を、図で表すものだ。「だれが・何を・どう持っているか」というデータの形を、設計の段階で整理するのに使う。

使う部品は、大きく2つ。

ここで大事なのが、ER図は「設計の段階」のものだということ。実際にデータベースを作る前の、論理的な設計図にあたる。


詳しく:3種類の関連と多対多

ここが心臓部。関連には、数の対応(カーディナリティ)がある。3種類を表で押さえよう。

関連の3種類(カーディナリティ)

種類意味
1対1片方に対して、相手も1つ1人に対して1つの社員証
1対多片方に対して、相手が複数1人の顧客に、複数の注文
多対多互いに複数ずつ結びつく複数の学生と、複数の講座

とくに出るのが1対多。「1人の顧客に、注文がたくさん」のような関係だ。

そして一番のひっかけが、多対多(N:M)。これは、そのままでは、うまくデータベースを作れない。そこで、間に「中間テーブル」を作って、多対多を「1対多」が2つの形に分ける。たとえば「学生」と「講座」の多対多は、「受講」という中間テーブルを置いて整理する。「多対多をそのまま作る」と思い込むと誤りになる。

わかりやすく言い換えると

身近なたとえで整理しよう。

ER図は、「データの登場人物(実体)と、そのつながり(関連)を描いた相関図」のイメージ。だれとだれが、どう結びついているかを図にする。

関連の3種類は、「1対1(夫婦)」「1対多(親と複数の子)」「多対多(複数の友だちどうし)」のイメージ。つまり、結びつきの数の違いだ。

多対多を中間テーブルで分ける、というのは、「複数どうしの関係を、間に名簿を置いて整理する」こと。つまり、そのままでは扱いにくいので、間に1枚はさんで1対多×2にする、ということだ。


試験のツボ

🔴 一番出る:ER図の正体

①実体(エンティティ)と関連(リレーションシップ)でデータの構造を表す図

②データベースを作る前の、論理的な設計図

🔴 次に出る:関連の3種類

①1対1・1対多(最頻出)・多対多

②1対多は「1人の顧客に複数の注文」のような関係

🟡 押さえると安定:多対多の扱い

①多対多(N:M)は、そのままではうまく作れない

②中間テーブルを置いて、1対多が2つの形に分ける


よくある間違い

「多対多(N:M)の関連は、そのままデータベースに作れる」→ ✗  多対多は、中間テーブルを置いて、1対多が2つの形に分ける。

「ER図は、実際に動くデータベースそのものだ」→ ✗  ER図は、データベースを作る前の論理的な設計図(設計段階のもの)。

「1対多とは、片方に対して相手も必ず1つだけの関係だ」→ ✗  片方に対して相手が複数なのが1対多。相手も1つなのは1対1。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(ER図の正体)

📝 オリジナル問題 1 ER図の正体

ER図に関する次の記述のうち、最も適切なものはどれか。

  1. 社員の出退勤を記録して、毎月の給与を計算するためのしくみである
  2. 実体(エンティティ)と関連で、データの構造を表す設計の図である
  3. 取引先へ毎月の請求書を郵送する、決まった事務作業のことを指している
  4. 完成したシステムを宣伝して、より多く売るための広告活動のことである
プロネコ
プロネコ 解答・解説

解答は 2 だよ。

ER図は、実体(エンティティ)と関連で、データの構造を表す設計の図だよ。データの登場人物とつながりを描くんだ。

選択肢1は給与計算、選択肢3は請求書の事務、選択肢4は広告で、どれも違うよ。

選択肢判定理由
1給与計算のしくみではない
2実体と関連でデータ構造を表す図で正しい
3請求書の事務の話
4広告活動ではない

オリジナル問題2(関連の3種類)

📝 オリジナル問題 2 関連の3種類

ER図の関連の種類(カーディナリティ)として、最も適切なものはどれか。

  1. 1対1・1対多・多対多という、関連の数の対応の3種類である
  2. 売上・費用・利益という、会社の決算のときに使う3つの数字である
  3. 朝・昼・夜という、1日の3つの時間帯のことを指している
  4. 北・南・西という、3つの方角のことを指している言葉である
プロネコ
プロネコ 解答・解説

解答は 1 だよ。

ER図の関連の種類は、1対1・1対多・多対多という、関連の数の対応の3種類だよ。とくに1対多がよく出るね。

選択肢2の決算の数字、選択肢3の時間帯、選択肢4の方角は、いずれも誤りだよ。

選択肢判定理由
11対1・1対多・多対多で正しい
2決算の数字ではない
3時間帯のことではない
4方角のことではない

オリジナル問題3(多対多の扱い)

📝 オリジナル問題 3 多対多の扱い

多対多(N:M)の関連の扱いに関する次の記述のうち、最も適切なものはどれか。

  1. 多対多は、何もせずそのままデータベースに作れるものだとされている
  2. 多対多は、社員の給与を計算するためだけに使う関連のことである
  3. 多対多は、中間テーブルを置いて、1対多が2つの形に分けて表す
  4. 多対多は、取引先へ請求書を郵送する事務だけに使う関連である
プロネコ
プロネコ 解答・解説

解答は 3 だよ。

多対多は、中間テーブルを置いて、1対多が2つの形に分けるよ。そのままではうまく作れないんだ。

選択肢1の「そのまま作れる」、選択肢2の給与計算、選択肢4の請求書の事務は、いずれも誤りだよ。

選択肢判定理由
1そのままでは作れない
2給与計算の関連ではない
3中間テーブルで分けるで正しい
4請求書の事務の関連ではない

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る