Skip to the content.

まず結論

ER図とDFDの違いは、何を中心に見る図かです。

  • ER図:管理対象とその関係を見る図
  • DFD:データの流れと処理を見る図

SG試験では、次のように切り分けると判断しやすいです。

エンティティ・属性・リレーションシップ → ER図
データフロー・プロセス・データストア → DFD

どちらもシステム開発で使われる図なので混同しやすいですが、見る対象が違います。


直感的な説明

販売管理システムを例にすると、違いが分かりやすいです。

ER図では、

  • 顧客
  • 注文
  • 商品
  • 注文明細

といった管理したい対象を整理します。

そして、

  • 顧客が注文する
  • 注文には注文明細がある
  • 注文明細は商品を含む

という対象同士の関係を見ます。

一方、DFDでは、

  • 顧客から注文データが届く
  • 注文受付処理を行う
  • 注文データを保存する
  • 在庫データを参照する
  • 出荷指示を出す

というデータの流れと処理を見ます。

つまり、

  • ER図は「何を管理するか」
  • DFDは「データがどう動くか」

を見る図です。


定義・仕組み

ER図とDFDの違いを表で整理します。

比較項目 ER図 DFD
見るもの 管理対象と関係 データの流れと処理
主な要素 エンティティ、属性、リレーションシップ 外部実体、プロセス、データストア、データフロー
目的 データ構造を整理する データの入出力や処理を整理する
顧客、注文、商品がどう関係するか 注文データがどこから来て、どこへ行くか
混同しやすい点 表そのものと誤解しやすい 業務手順そのものと誤解しやすい

ER図は、データベース設計でよく使われます。

ただし、ER図は「表そのもの」を表すというより、表を設計する前に、管理対象と関係を整理する図です。

DFDは、処理の詳細なプログラムを書く図ではありません。

データがどこから入り、どの処理を通り、どこへ出ていくかを整理する図です。


どんな場面で使う?

ER図を使う場面

ER図は、管理するデータの構造を整理したいときに使います。

例えば、

  • 顧客と注文の関係を整理する
  • 商品と注文明細の関係を整理する
  • 1対多、多対多の関係を確認する
  • データベース設計の前に対象を整理する

といった場面です。


DFDを使う場面

DFDは、データの入出力や処理の流れを整理したいときに使います。

例えば、

  • 顧客から注文情報を受け取る
  • 注文情報を処理する
  • 在庫データを参照する
  • 注文データを保存する
  • 出荷指示を出す

といった場面です。


よくある誤解・混同

誤解1:ER図はデータベースの表そのものを表す

ER図は、関係データベース設計でよく使われるため、表そのものを表す図だと考えがちです。

しかし、正確には、ER図は管理対象であるエンティティと、エンティティ間の関係を表す図です。

表として実装する前の、概念整理に使う図と考えると分かりやすいです。


誤解2:DFDは業務手順を表す

DFDは、データの流れを表す図です。

そのため、業務の流れに近く見えることがあります。

ただし、DFDの中心は、作業手順ではなくデータの入出力と処理です。

「申請 → 承認 → 登録」のような手順そのものを表すなら、業務フロー図やアクティビティ図の方が近いです。


誤解3:リレーションシップは業務上の手順である

ER図のリレーションシップは、業務手順ではありません。

リレーションシップは、エンティティ同士の関係です。

例えば、

  • 顧客が注文する
  • 注文に商品が含まれる
  • 部署に社員が所属する

といった関係を表します。


試験での切り分け方

選択肢を読むときは、出てくる言葉に注目すると判断しやすくなります。

選択肢の言葉 判断
エンティティ ER図
属性 ER図
リレーションシップ ER図
1対多、多対多 ER図
データフロー DFD
プロセス DFD
データストア DFD
入力、出力、処理 DFD

特に、次のような選択肢は要注意です。

関係データベースの表として実装することを前提に表現する。

これはER図っぽく見えますが、言い切りが強すぎます。

ER図は関係データベース設計に使われることが多いものの、正確にはエンティティと関係を表す図です。


まとめ(試験直前用)

ER図とDFDは、どちらもシステム開発で使われますが、見る対象が違います。

試験直前は、次の3点で判断しましょう。

  • ER図=管理対象と関係を見る図
  • DFD=データの流れと処理を見る図
  • エンティティならER図、データフローならDFD

迷ったときは、次の一文で切り分けます。

何を管理するかを整理するならER図。
データがどう流れるかを整理するならDFD。

この違いを押さえておくと、選択肢をかなり切りやすくなります。