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


ア:
イ:(正解)
ウ:
エ:
解説
四つの表の関係を表すE-R図として適切なものはどれか【午前2 解説】
要点まとめ
- 結論:正しいE-R図はイで、各表の主キーと外部キーの関係を正確に表現しているためです。
- 根拠:医師は診療科に属し(多対1)、診療科は診察に複数関連し(1対多)、診察は患者に紐づく(多対1)関係が正しく示されています。
- 差がつくポイント:多対1や1対多の関係を正確に理解し、主キー・外部キーの役割をE-R図の線の記号で正しく表現できるかが重要です。
正解の理由
選択肢イは、医師と診療科の関係を「医師側*(多)、診療科側1(1)」とし、医師が複数の診療科コードを持つのではなく、医師が1つの診療科に属することを示しています。
診療科と診察は「診療科側1、診察側*」で、1つの診療科に複数の診察があることを表現。
診察と患者は「診察側*、患者側1」で、1人の患者が複数の診察を受けることを示しています。
これらは表の主キー・外部キーの定義と整合し、正しいE-R図の表現です。
診療科と診察は「診療科側1、診察側*」で、1つの診療科に複数の診察があることを表現。
診察と患者は「診察側*、患者側1」で、1人の患者が複数の診察を受けることを示しています。
これらは表の主キー・外部キーの定義と整合し、正しいE-R図の表現です。
よくある誤解
E-R図の「*」と「1」の意味を逆に理解し、主キー側と外部キー側の関係を混同しやすい点に注意が必要です。
解法ステップ
- 各表の主キーと外部キーを確認し、どの表が親(1側)でどの表が子(多側)かを把握する。
- 医師表の「診療科コード」は外部キーで、医師は1つの診療科に属するため「医師側*、診療科側1」。
- 診療科と診察は、診療科コードが診察の主キーの一部であり、1つの診療科に複数の診察があるため「診療科側1、診察側*」。
- 診察と患者は、患者番号が診察の主キーの一部であり、1人の患者に複数の診察があるため「診察側*、患者側1」。
- これらの関係を選択肢の線の記号と照合し、正しいものを選ぶ。
選択肢別の誤答解説
- ア:診療科と診察の関係が逆で、診療科側が多となっているため誤り。
- イ:正解。各関係の多対1、1対多が正しく表現されている。
- ウ:医師と診療科の関係が逆で、医師側が1となっているが医師は複数の診療科に属さないため誤り。
- エ:医師と診療科の関係が逆で、診療科側が多となっているため誤り。
補足コラム
E-R図の「1」と「*」はそれぞれ「1対多」の関係を示し、主キー側が「1」、外部キー側が「*」となるのが基本です。外部キーは親テーブルの主キーを参照し、子テーブルの多側を表します。これを理解することで、複雑なリレーションも正確に表現できます。
FAQ
Q: E-R図の「*」は何を意味しますか?
A: 「*」は多(多側)を意味し、複数の関連レコードが存在することを示します。
A: 「*」は多(多側)を意味し、複数の関連レコードが存在することを示します。
Q: 主キーと外部キーの違いは何ですか?
A: 主キーはテーブル内でレコードを一意に識別する属性、外部キーは他のテーブルの主キーを参照する属性です。
A: 主キーはテーブル内でレコードを一意に識別する属性、外部キーは他のテーブルの主キーを参照する属性です。
関連キーワード: E-R図, 主キー, 外部キー, 多対1関係, 1対多関係, リレーショナルデータベース, データベース設計