ITパスポート 2012年 春期 問76
問題文
E-R図の説明と、その応用例として、適切なものはどれか。
選択肢
ア:作業順序や作業時間を表した図であり、例えば、システム開発の日程管理をするのに用いられる。
イ:実体同士の関連を表した図であり、例えば、関係データベースの表同士の関連を表すのに用いられる。(正解)
ウ:順次、選択、繰返し構造を組み合わせて表した図であり、例えば、プログラムの流れを記述するのに用いられる。
エ:状態の遷移や条件を記載した図であり、例えば、通信プロトコルの仕様を記述するのに用いられる。
🔒 解説は解答すると表示されます
E-R図の説明と、その応用例【ITパスポート 解説】
正解の理由
E-R図は「E-R図(Entity-Relationship diagram:実体と実体の関連を示す図)」です。
この図は、現実世界の「もの(実体=エンティティ)」と、それらの「つながり(関連)」を視覚的に表します。関係データベース(リレーショナルデータベース:表(テーブル)でデータを管理する仕組み)の設計では、実体を表(テーブル)に、実体の持つ性質を属性(カラム)に、実体同士のつながりを外部キーなどで表すため、まさに関係データベースの表同士の関連を表すのに使われます。したがって選択肢の中で正しいのは イ です。
この図は、現実世界の「もの(実体=エンティティ)」と、それらの「つながり(関連)」を視覚的に表します。関係データベース(リレーショナルデータベース:表(テーブル)でデータを管理する仕組み)の設計では、実体を表(テーブル)に、実体の持つ性質を属性(カラム)に、実体同士のつながりを外部キーなどで表すため、まさに関係データベースの表同士の関連を表すのに使われます。したがって選択肢の中で正しいのは イ です。
解法ステップ
- 問題文のキーワードを探す:「実体」「関連」「関係データベース」「表同士の関連」など。これがE-R図の説明に合致するか確認します。
- 選択肢の説明と照らし合わせる:アはスケジュール、ウはプログラムの流れ、エは状態遷移という別の図を示しています。E-R図の特徴(実体と関連)と一致するのは イ だけです。
- 結論として、実体同士の関連を表し、データベース設計に使う説明を選びます(イ を選択)。
選択肢別の誤答解説
- ア: 「作業順序や作業時間を表した図」
これはガントチャート(Gantt chart:作業の開始・終了と期間を棒で表す図)に該当します。プロジェクトの日程管理に使われます。E-R図とは目的が違います。 - イ: 「実体同士の関連を表した図」
これがE-R図の定義です。関係データベースのテーブル設計に直結するため適切です。 - ウ: 「順次、選択、繰返し構造を組み合わせて表す図」
これはフローチャート(flowchart:処理の流れを図で表す)やアルゴリズムの図に該当します。プログラムの流れを示す目的です。 - エ: 「状態の遷移や条件を記載した図」
これは状態遷移図(state transition diagram:状態とその変化を表す図)です。通信プロトコルや機械の状態管理などに使われます。E-R図とは用途が異なります。
よくある誤解
- E-R図とUMLクラス図は同じと思う誤解
- 見た目が似る部分はありますが、E-R図は主にデータ(どのデータをどう保存するか)を設計するために使います。UMLのクラス図はシステムの振る舞いやオブジェクト指向設計(クラスの操作や継承関係など)も表現します。目的が異なります。
- 「関係=別の表になる」と思い込む誤解
- 1対多の関連は外部キーで表現するのが普通で、必ずしも別のテーブルにする必要はありません(多対多の関連は中間テーブルが必要になることが多い)。関連の表現方法は関係の種類(カーディナリティ)によります。
- 属性と関連を混同する誤解
- 属性は「その実体の性質(例:顧客の名前、住所)」、関連は「実体同士のつながり(例:顧客が注文を出す)」です。用途を混同しないようにしましょう。
補足コラム
E-R図の基本要素と、関係データベースへの変換のイメージを簡単に示します。
- 実体(エンティティ、entity)… ものや人。例:顧客(Customer)、注文(Order)。
- 属性(attribute)… 実体の性質。例:顧客の氏名、住所、注文の日付。
- 関連(relationship)… 実体同士の関係。例:顧客が注文をする。
- カーディナリティ(cardinality)… 関連の数の制約。例:1対多(1人の顧客が複数の注文を持つ)。
簡単な例(顧客と注文)をリレーショナルテーブルに変換すると:
-- 顧客テーブル
CREATE TABLE Customer (
customer_id INT PRIMARY KEY, -- 主キー(各顧客を一意に識別)
name VARCHAR(100),
address VARCHAR(200)
);
-- 注文テーブル
CREATE TABLE Order (
order_id INT PRIMARY KEY,
customer_id INT, -- 外部キー(どの顧客の注文か)
order_date DATE,
FOREIGN KEY (customer_id) REFERENCES Customer(customer_id)
);
このように、E-R図で「顧客」と「注文」の実体と「顧客が注文を出す」という関連を描くと、上のようなテーブル設計に落とし込めます。
FAQ
Q1: E-R図はどんな場面で使いますか?
A1: データベースを設計するとき、どんなデータが必要で、データ同士がどうつながるかを整理するために使います。業務で扱うデータの全体像を把握するのに便利です。
A1: データベースを設計するとき、どんなデータが必要で、データ同士がどうつながるかを整理するために使います。業務で扱うデータの全体像を把握するのに便利です。
Q2: E-R図を書くツールはありますか?
A2: はい。無料・有料を含め多数あります。例:draw.io(図作成ツール)、MySQL Workbench(データベース設計機能付き)、ER/Studioなど。
A2: はい。無料・有料を含め多数あります。例:draw.io(図作成ツール)、MySQL Workbench(データベース設計機能付き)、ER/Studioなど。
Q3: E-R図と論理設計・物理設計の関係は?
A3: E-R図は論理設計(どのようなデータがあり関係があるか)の一部です。論理設計を基に、実際のデータベース(テーブル定義、インデックス、型など)を決めるのが物理設計です。
A3: E-R図は論理設計(どのようなデータがあり関係があるか)の一部です。論理設計を基に、実際のデータベース(テーブル定義、インデックス、型など)を決めるのが物理設計です。
関連キーワード: E-R図、ER図、実体関係図、実体(エンティティ)、属性、関係(リレーションシップ)、カーディナリティ、主キー、外部キー、リレーショナルデータベース、ガントチャート、フローチャート、状態遷移図

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

