平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問6
テクノロジ/データベース四つの表の関係を表すE-R図として,適切なものはどれか。ここで,「1 *」は1対多の関連を表し,実線の下線は主キーを表す。 〔表定義〕 医師(医師番号,医師名,診療科コード):主キーは医師番号,診療科コードは診療科を参照する外部キー。 診療科(診療科コード,診療科名称):主キーは診療科コード。 診察(診療科コード,患者番号,診察日時):主キーは診療科コードと患者番号の組で,いずれも外部キー(診療科コードは診療科を,患者番号は患者を参照)。 患者(患者番号,患者名):主キーは患者番号。 (注:本サイトでは原問題の表を文字表記に変換していますが,選択肢のE-R図は原問題のとおり図として掲載しています)

出典:平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問6
- ア図ア
- イ図イ
- ウ図ウ
- エ図エ
正解:イ
解説
表定義から,医師は診療科コードを外部キーとしてもつため医師(多)対診療科(1)の関係になり,診察は診療科コードと患者番号の組を主キーとしてもつため,診療科(1)対診察(多),患者(1)対診察(多)の関係になります。この対応をすべて満たすE-R図は,医師と診療科が「*-1」,診療科と診察が「1-*」,診察と患者が「*-1」という多重度で表されている図イです。
選択肢ごとの解説
- ア誤り。図アは,診療科と診察が「*-1」(診療科側が多)になっており,診察の主キーに診療科コードが含まれるという表定義(診療科1に対し診察が多)と多重度の向きが逆です。
- イ正しい。図イは,医師と診療科が「*-1」,診療科と診察が「1-*」,診察と患者が「*-1」となっており,医師(多)対診療科(1),診療科(1)対診察(多),患者(1)対診察(多)という表定義の外部キー関係と一致します。
- ウ誤り。図ウは,医師と診療科が「1-*」になっており,医師表の診療科コードが外部キーである(医師が多,診療科が1)という表定義と多重度の向きが逆です。
- エ誤り。図エは,医師と診療科が「1-*」,診療科と診察が「1-*」になっている点は表定義に近いものの,医師と診療科の多重度の向きが表定義(医師側が多,診療科側が1)と逆になっています。