基本情報技術者 2012年 春期 午前(科目A) 問28
問題文
E-R図に関する記述として、適切なものはどれか。
選択肢
ア:関係データベースの表として実装することを前提に作成する。
イ:業務で扱う情報をエンティティ及びエンティティ間のリレーションシップとして表現する。(正解)
ウ:データの生成から消滅に至るデータ操作を表現できる。
エ:リレーションシップは、業務上の手順を表現する。
🔒 解説は解答すると表示されます
E-R図(エンティティ・リレーション)【午前解説】
正解の理由
E-R(Entity-Relationship)図は「実体(エンティティ)」「属性」「リレーションシップ(関係)」で情報構造を表す概念モデルです。業務で扱う情報を何として捉えるか(例:顧客、注文、商品)と、それらがどのように関連するか(顧客が注文する、注文は商品を含む)を図示して要件を明確にします。選択肢イはこの定義に合致しているため正解です。
解法ステップ
- 問題文で「E-R図に関する記述」とあるので目的は「E-R図の定義」を問うていると確認する。
- E-R図の主要要素(エンティティ、属性、リレーションシップ、カーディナリティ)を思い出す。
- 各選択肢が「概念モデル(何を扱うか)」なのか「物理実装・処理・手順」なのかを判定する。
- 概念モデルを説明している選択肢を正とし、物理実装や動的振る舞いを示す選択肢を除外する。
選択肢別の誤答解説
- ア: 関係データベースの表として実装することを前提に作成する。
→ 誤り。E-R図は概念設計であり、テーブル設計(列・型・索引など)は論理/物理設計で決定します。E-R図からテーブルにマッピングする手順は別途必要です。 - イ: 業務で扱う情報をエンティティ及びエンティティ間のリレーションシップとして表現する。
→ 正解。E-R図の定義そのもので、実体と関係で情報構造を表す概念モデルを指します。イ - ウ: データの生成から消滅に至るデータ操作を表現できる。
→ 誤り。E-R図はデータの構造(何があるか)を示すものであり、CRUDやライフサイクルなど動的な操作は表現しません。 - エ: リレーションシップは、業務上の手順を表現する。
→ 誤り。リレーションシップはエンティティ間の関連性(所属・参照など)を示すものであり、業務手順やプロセスではありません。
よくある誤解
- E-R図はそのままデータベースのテーブル設計(物理実装)を表す:概念設計なので論理・物理設計への変換が必要です。
- E-R図で業務の手順や処理の流れまで表現できる:業務フローや処理順序はBPMNやUMLアクティビティ図を使います。
- データの生成から消滅などのライフサイクルを表すものとする:ライフサイクルは状態遷移図や業務プロセスで扱うことが多いです。
補足コラム
E-R図からリレーショナルスキーマへの一般的な変換ルール:
- エンティティ → テーブル、属性 → カラム、主キーはテーブルの主キー
- 1対多(1:N)のリレーションシップ → 多側テーブルに外部キーを追加
- 多対多(N:M)のリレーションシップ → 中間テーブル(関連テーブル)を作成して両側の外部キーを持たせる
例(簡単な変換例):
CREATE TABLE Customer (
customer_id INT PRIMARY KEY,
name VARCHAR(100)
);
CREATE TABLE Order (
order_id INT PRIMARY KEY,
customer_id INT,
order_date DATE,
FOREIGN KEY (customer_id) REFERENCES Customer(customer_id)
);
-- 多対多の場合は中間テーブルを作る
CREATE TABLE OrderItem (
order_id INT,
product_id INT,
quantity INT,
PRIMARY KEY(order_id, product_id)
);
E-R図の拡張にはEER(拡張E-R)やUMLクラス図との比較、Crow's Foot表記(カーディナリティ表現)などがあります。業務プロセスはBPMNやUMLアクティビティ図で表現し、用途を混同しないことが重要です。
FAQ
Q1. E-R図とUMLクラス図は同じですか?
A1. 目的が近い部分もありますが、E-R図はデータの概念設計に特化し、UMLクラス図はオブジェクト指向設計で振る舞いやメソッドも表現できます。用途と表記法が異なります。
A1. 目的が近い部分もありますが、E-R図はデータの概念設計に特化し、UMLクラス図はオブジェクト指向設計で振る舞いやメソッドも表現できます。用途と表記法が異なります。
Q2. 多対多の関係はE-R図でどう表現しますか?
A2. 多対多(N:M)はリレーションシップで示しますが、実装時は中間(関連)エンティティ/テーブルに分解して管理します。
A2. 多対多(N:M)はリレーションシップで示しますが、実装時は中間(関連)エンティティ/テーブルに分解して管理します。
Q3. 属性が複合属性や多値属性の場合は?
A3. E-R図では複合属性や多値属性を表記できますが、論理設計では多値属性は別エンティティに分解するのが一般的です。
A3. E-R図では複合属性や多値属性を表記できますが、論理設計では多値属性は別エンティティに分解するのが一般的です。
関連キーワード: ER図、E-R図、実体関連モデル、エンティティ、リレーションシップ、属性、カーディナリティ、概念設計、論理設計、正規化、Crow's Foot、EER、データモデリング

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

