UMLを用いて表した図の概念データモデルの解釈として,適切なものはどれか。
[図]部署 ◄所属する 従業員(部署側の多重度 1..*,従業員側の多重度 0..*)
正答2
解説
正解は2です。
UMLのクラス図では、関連の線の両端に多重度を書きます。
多重度は、相手側の1つのインスタンスから見て、こちら側がいくつ対応するかを表します。
本問では、部署側の端に1..*、従業員側の端に0..*が書かれています。
部署側の1..*は「従業員1人は1つ以上の部署に所属する」ことを、従業員側の0..*は「1つの部署には0人以上の従業員が所属する」ことを表します。
【選択肢別解説】
1:× 多重度は対応する個数の範囲を示すだけであり、従業員の総数と部署の総数が一致することは表していません。
2:○ 部署側の多重度が1..*なので、従業員1人が複数の部署に同時に所属することが許されます。
3:× 従業員側の多重度が0..*なので、所属する従業員が0人の部署も存在できます。
4:× 部署側の多重度の下限が1なので、従業員は必ず1つ以上の部署に所属します。
どの部署にも所属しない従業員は存在できません。
【ポイント】
多重度は「相手1つに対してこちらがいくつか」を、自分の側の端に書きます。
下限が0なら「なくてもよい」、上限が*なら「複数でもよい」と読むのが基本です。