データベーススペシャリスト試験 2016年 午前2 問06
四つの表の関係を表すE-R図として, 適切なものはどれか。ここで, 対多の関連を表し, 実線の下線は主キーを, 破線の下線は外部キーを表す。


ア:
イ:(正解)
ウ:
エ:
解説
四つの表の関係を表すE-R図として, 適切なものはどれか【午前2 解説】
要点まとめ
- 結論:正しいE-R図は「イ」であり、各表の主キー・外部キーの関係と多対一の関連を正確に表現しているためです。
- 根拠:医師は診療科に属し(多対1)、診療科は診察に対して1対多、診察は患者に対して多対1の関係が成立します。
- 差がつくポイント:関連の多対1の方向性を正しく理解し、主キーと外部キーの役割を見極めることが重要です。
正解の理由
選択肢「イ」は、医師と診療科の関係が「医師側*(多)-診療科側1」、診療科と診察の関係が「診療科側1-診察側*(多)」、診察と患者の関係が「診察側*(多)-患者側1」となっており、各表の主キー・外部キーの配置と整合しています。
医師は一つの診療科に所属し、診療科は複数の診察を持ち、診察は一人の患者に対して行われるため、この関係性を正確に表現しています。
医師は一つの診療科に所属し、診療科は複数の診察を持ち、診察は一人の患者に対して行われるため、この関係性を正確に表現しています。
よくある誤解
多対1の関連の向きを逆に理解し、主キーと外部キーの関係を混同しやすい点に注意が必要です。
また、診察と患者の関係を多対多と誤認するケースもありますが、患者番号は診察の外部キーであり多対1です。
また、診察と患者の関係を多対多と誤認するケースもありますが、患者番号は診察の外部キーであり多対1です。
解法ステップ
- 各表の主キーと外部キーを確認し、どの表がどの表に依存しているかを把握する。
- 医師と診療科の関係を考え、医師は一つの診療科に属するため多対1と判断。
- 診療科と診察の関係を確認し、診療科は複数の診察を持つため1対多。
- 診察と患者の関係を確認し、診察は一人の患者に対して行われるため多対1。
- これらの関係をE-R図の多重度(*や1)で正しく表現している選択肢を選ぶ。
選択肢別の誤答解説ステップ
- ア:診療科と診察の関係が逆で、診療科側が多となっているため誤り。
- イ:正解。各関係の多重度が正しく表現されている。
- ウ:医師と診療科の関係が逆で、医師側が1となっているため誤り。
- エ:医師と診療科の関係が逆で、医師側が1となっているため誤り。
補足コラム
E-R図における多重度は、実際のデータの依存関係を正確に表現するために重要です。
主キーは一意にレコードを識別し、外部キーは他の表の主キーを参照することでリレーションを形成します。
多対多の関係は中間表(関連表)を設けて表現するのが一般的です。
主キーは一意にレコードを識別し、外部キーは他の表の主キーを参照することでリレーションを形成します。
多対多の関係は中間表(関連表)を設けて表現するのが一般的です。
FAQ
Q: 多対1の関係を見分けるポイントは何ですか?
A: 外部キーが存在する側が「多」の側で、参照される主キー側が「1」の側です。
A: 外部キーが存在する側が「多」の側で、参照される主キー側が「1」の側です。
Q: 診察と患者の関係は多対多ではないのですか?
A: 診察表に患者番号(外部キー)があるため、多対1の関係です。多対多の場合は中間表が必要です。
A: 診察表に患者番号(外部キー)があるため、多対1の関係です。多対多の場合は中間表が必要です。
関連キーワード: E-R図, 主キー, 外部キー, 多対1, 関係データベース, 多重度, リレーションシップ