基本情報技術者 2012年 秋期 午前(科目A) 問26
問題文
E-R図の説明のうち、適切なものはどれか。
選択肢
ア:エンティティタイプ間には、1対多、多対多などのリレーションシップがある。(正解)
イ:エンティティタイプ間の関連は、参照側から被参照側への方向の矢印線で表現する。
ウ:エンティティタイプには属性をもたせないで、リレーションシップタイプに属性をもたせる。
エ:エンティティタイプの中に関連先のエンティティ名を記述することによって、リレーションシップを表す。
##: E-R図の説明のうち、適切なものはどれか。【午前2 解説】
要点まとめ
- 結論: 正しいのはア。E-R図ではエンティティタイプ同士の関連を1対多や多対多などのカーディナリティで表現します。
- 根拠: E-R図はエンティティタイプ・リレーションシップタイプ・属性の三要素で構成され、関連は線とカーディナリティで示すのが基本です。
- 差がつくポイント: 「方向」を表す矢印やエンティティ内への関連先記述と属性の所在を混同しないことが合格者との差になります。
正解の理由
選択肢の中で正しいのはアです。E-R図(エンティティ・リレーションシップ図)は「エンティティタイプ(実体クラス)」間の関係(リレーションシップタイプ)を表現し、その関係が1対1、1対多(1:N)、多対多(M:N)などのカーディナリティで記述されます。したがって「エンティティタイプ間には、1対多、多対多などのリレーションシップがある。」というアの説明がE-R図の定義に一致します。
よくある誤解
- リレーションシップは常に矢印で方向を示すと考える誤解:標準的なE-R図は方向ではなく関係の種類やカーディナリティで示します。
- 属性は必ずリレーションシップに付けると思い込む誤解:属性は基本的にエンティティの性質を表し、必要に応じてリレーションシップにも属性を持たせますが、エンティティに属性を持たせないわけではありません。
- E-R図=物理設計(外部キーをエンティティ内に書く)と混同する誤解:E-R図は概念/論理設計で、物理的な外部キー記述は別段階の表現です。
解法ステップ
- 問題文のキーワード(エンティティタイプ、リレーションシップ、属性)を確認する。
- 各選択肢がE-R図の定義に合致するかを「エンティティ」「リレーション」「属性」の観点で当てはめる。
- 「方向」「記述場所(エンティティ内かリレーションにか)」など、概念設計と物理設計の違いを区別する。
- カーディナリティ(1:1, 1:N, M:N)を表す記述がある選択肢を正解候補とする。
- 最終的にアがE-R図の基本概念と一致するため正解と判断する。
選択肢別の誤答解説
- ア: エンティティタイプ間には1対多、多対多などのリレーションシップがある。
→ 正解。E-R図の中心概念であり、関係はカーディナリティで表現されます。 - イ: エンティティタイプ間の関連は、参照側から被参照側への方向の矢印線で表現する。
→ 誤り。E-R図は通常、矢印で方向を示す表現を基本とはしません(物理的な外部キーの参照方向は別)。 - ウ: エンティティタイプには属性をもたせないで、リレーションシップタイプに属性をもたせる。
→ 誤り。属性はエンティティに持たせるのが基本で、リレーションシップにも必要に応じて属性を持たせますが全面的に置き換えるものではありません。 - エ: エンティティタイプの中に関連先のエンティティ名を記述することによって、リレーションシップを表す。
→ 誤り。これは物理設計(外部キー)に近い表現で、概念的なE-R図ではリレーションシップは図記号で表現します。
補足コラム
- 多対多(M:N)の関係はリレーションシップ自体を属性化する(連関エンティティ/連接表に変換する)ことで関係を正規化し、リレーショナルデータベースでは中間テーブル(結合表)にマッピングされます。
- E-R図の表記法にはChen記法、Crow's Foot(カラスの足)記法など複数あり、表記の細部(矢印の有無やカーディナリティ表現)は異なりますが基本概念は共通です。
- 実務では「概念ER図 → 論理ER図(属性・主キー追加) → 物理設計(外部キー、インデックス)」のステップで進めます。
FAQ
Q1: E-R図で矢印を使う表記は存在しますか?
A1: 一部の表記法やツールでは矢印が使われることがありますが、概念的には「方向」より「関係とカーディナリティ」を重視します。矢印は物理的な参照を示す場合に限定されることが多いです。
A1: 一部の表記法やツールでは矢印が使われることがありますが、概念的には「方向」より「関係とカーディナリティ」を重視します。矢印は物理的な参照を示す場合に限定されることが多いです。
Q2: 関係に属性を持たせることはしてはいけないのですか?
A2: してはいけないわけではなく、関係(リレーションシップ)に固有の情報がある場合は属性を持たせます。ただし、エンティティの属性を不当に関係側に移すのは誤りです。
A2: してはいけないわけではなく、関係(リレーションシップ)に固有の情報がある場合は属性を持たせます。ただし、エンティティの属性を不当に関係側に移すのは誤りです。
Q3: 多対多は図上でどう表せばよいですか?
A3: E-R図上ではM:Nと表記しますが、実際の関係をリレーショナルDBに実装する際は中間テーブル(連関エンティティ)を設けて1:Nの組合せに分解します。
A3: E-R図上ではM:Nと表記しますが、実際の関係をリレーショナルDBに実装する際は中間テーブル(連関エンティティ)を設けて1:Nの組合せに分解します。
関連キーワード: ER図、エンティティ、リレーションシップ、カーディナリティ、属性、主キー、外部キー、正規化、連関エンティティ、モデリング

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

