基本情報技術者試験「E-R図」の問題
E-R図で『1人の社員は複数の資格を取得でき、1つの資格は複数の社員が取得している』という関係を表す多重度(カーディナリティ)はどれか。
ア1対1の関連(両側が1件)
イ多対多の関連
ウ1対多の関連であると判断する
エ多対1の関連で表す
正解
イ.多対多の関連
社員側から見て1人が複数資格を持ち、資格側から見て1つの資格を複数社員が持つ。双方向で複数を許すので関連は多対多であり正しい。
?選択肢ごとの解説
ア ×1対1は双方が相手をちょうど1つだけ持つ関係であり、複数を許す本問の条件に合致しない。
イ ○社員側から見て1人が複数資格を持ち、資格側から見て1つの資格を複数社員が持つ。双方向で複数を許すので関連は多対多であり正しい。
ウ ×1対多は一方だけが複数を持ち他方は1つに限る関係で、資格側も複数社員を持つ本問の双方向性を表せない。
エ ×多対1は1対多の向きを変えただけで、やはり片側が1つに限られる関係であり、双方向に複数を許す本問とは異なる。
✎くわしく
多重度は関連の両端それぞれが相手をいくつ持てるかを示す。多対多は実装時に対応する関連表(連関エンティティ)を新設し、両側の主キーを外部キーとして持たせて解消するのが定石である。
✓本番での押さえどころ
試験のコツ
『一方の1件に他方が何件対応するか』を両方向で確認し、双方とも複数なら多対多と判定する。
覚え方
多対多は『どちらから数えても枝分かれする』と矢印が両側で分岐するイメージで覚える。
よくある誤り
片側だけを見て1対多と判断する誤りが多い。両端それぞれの上限を別々に確認することが要点である。
データベースの他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0230