sg database system_planning data_modeling
まず結論
ER図(Entity-Relationship Diagram)は、管理したい対象をエンティティとし、エンティティ同士の関係をリレーションシップとして表す図です。
SG試験では、ER図を「関係データベースの表そのもの」と決めつけないことが大切です。
ER図は、データベースを作る前に、
- 何を管理するのか
- それぞれがどんな情報をもつのか
- それらがどのように関係するのか
を整理するために使われます。
直感的な説明
ER図は、業務で管理したいもの同士の関係図と考えると分かりやすいです。
例えば、販売管理では次のような対象があります。
- 顧客
- 商品
- 注文
- 注文明細
これらは単独で存在しているのではなく、
- 顧客が注文する
- 注文には注文明細がある
- 注文明細には商品が含まれる
という関係をもちます。
このように、管理対象とそのつながりを整理する図がER図です。
定義・仕組み
ER図は、主に次の要素で構成されます。
| 要素 | 意味 | 例 |
|---|---|---|
| エンティティ | 管理したい対象 | 顧客、商品、注文 |
| 属性 | エンティティがもつ情報 | 顧客名、商品名、注文日 |
| リレーションシップ | エンティティ同士の関係 | 顧客が注文する、注文に商品が含まれる |
| 多重度 | 何対何の関係か | 1対多、多対多 |
例えば、
- 1人の顧客は複数の注文を行う
- 1つの注文には複数の商品が含まれる
- 1つの商品は複数の注文に含まれることがある
という関係を表せます。
ここで大切なのは、ER図はデータの流れや業務手順を表す図ではないという点です。
ER図が表すのは、あくまで管理対象と関係です。
関係データベースの表との違い
ER図は、関係データベースの設計でよく使われます。
そのため、ER図を「データベースの表を表す図」と考えたくなります。
ただし、SG試験では少し注意が必要です。
ER図は、最終的に関係データベースの表設計につながることは多いですが、表として実装することを前提にした図とは限りません。
より正確には、ER図は次のような図です。
管理対象であるエンティティと、その属性、エンティティ間の関係を整理する図
つまり、
- 表そのものを描く図ではない
- データベース化の前段階で概念を整理する図
- 関係データベース以外の対象整理にも使える
と押さえると安全です。
どんな場面で使う?
ER図は、システム開発の上流工程やデータベース設計で使われます。
特に、次のような場面で役立ちます。
- 業務で管理する情報を整理する
- データベース設計の前に対象を洗い出す
- エンティティ同士の関係を確認する
- 1対多、多対多などの関係を整理する
- データの重複や設計の抜けを見つける
例えば、受注管理システムを作るときに、いきなり表を作り始めると、どの情報をどこに持たせるべきか分かりにくくなります。
そこで、まずER図で「顧客」「注文」「商品」「注文明細」などの関係を整理します。
よくある誤解・混同
誤解1:ER図は関係データベースの表を表す図である
これは、かなり引っかかりやすいポイントです。
ER図は関係データベース設計でよく使われますが、表として実装することを前提にした図とは限りません。
SG試験では、
- エンティティ
- 属性
- リレーションシップ
を表す図だと判断します。
誤解2:リレーションシップは業務上の手順を表す
リレーションシップは、エンティティ同士の関係を表します。
例えば、
- 顧客が注文する
- 注文に商品が含まれる
といった関係です。
「申請する → 承認する → 登録する」のような業務手順を表すものではありません。
業務手順を表す場合は、業務フロー図やアクティビティ図などが関係します。
誤解3:データの生成から消滅までの操作を表す
データの生成・更新・削除・参照など、データの流れや処理を表す図は、DFD(データフロー図)と混同しやすいです。
ER図は、データの処理手順ではなく、データとして管理する対象と関係を表します。
DFDとの違い
ER図とDFDは、どちらもシステム開発で使われる図ですが、見るポイントが違います。
| 図 | 何を表す? | 見るポイント |
|---|---|---|
| ER図 | 管理対象と関係 | 何を管理するか、どう関係するか |
| DFD | データの流れ | データがどこから来て、どこへ行くか |
試験では、
- エンティティ、属性、リレーションシップ → ER図
- データの入力、出力、処理、蓄積 → DFD
と切り分けると判断しやすいです。
まとめ(試験直前用)
ER図は、エンティティとリレーションシップで管理対象を整理する図です。
試験直前は、次の3点で判断しましょう。
- エンティティ・属性・リレーションシップが出たらER図
- 表そのものではなく、管理対象と関係を整理する図
- データの流れや業務手順を表す図ではない
特に、「関係データベースの表として実装することを前提に表現する」という選択肢は注意です。
ER図は関係データベース設計で使われますが、正確には実体と実体間の関係を表す図として押さえるのが安全です。