令和5年度 春期 午前 問29
データベース
bに入れる多重度
UML を用いて表した図のデータモデルの a,b に入れる多重度はどれか。
〔条件〕
(1) 部門には 1 人以上の社員が所属する。 (2) 社員はいずれか一つの部門に所属する。 (3) 社員が部門に所属した履歴を所属履歴として記録する。
〔データモデル〕
部門 ──── 1 a ──── 所属履歴 ──── b 1 ──── 社員 部門 : 部門コード,部門名,… 所属履歴 : 開始日,終了日,… 社員 : 社員コード,氏名,… 多重度 1 は 部門 の側と 社員 の側に書かれている。 a = 1 つの部門から見た 所属履歴 の数 b = 1 人の社員から見た 所属履歴 の数
- アa:0..* / b:0..*
- イa:0..* / b:1..*
- ウa:1..* / b:0..*
- エa:1..* / b:1..*
答えと解説を見る
✓ これが正解エa:1..* / b:1..*
解説
どちらの側から見ても履歴が最低一本は必要です。
設問は、部門と所属履歴と社員を結んだデータモデルで、二つの空欄に入る多重度の組合せを四つから選ばせています。見分けの軸は、条件の文が下限をどこに置いているか、という一点です。多重度は反対側の一つから見てこちら側がいくつ対応するかを表すので、一方は部門一つに対する所属履歴の本数、もう一方は社員一人に対する所属履歴の本数を指します。条件には、部門には一人以上の社員が所属すると書かれているので、社員のいない部門は無く、その所属を記録した履歴も必ず一本以上あります。社員の側も、いずれか一つの部門に所属すると書かれているため、履歴が一本も無い社員はありません。異動があれば本数は増えていくので上限は定めず、どちらも下限を一とする組合せが答えになります。
ほかの選択肢はなぜ違うのか
- アa:0..* / b:0..*:どちらの側も下限を零とする組合せです。所属履歴が一本も無い部門と、履歴の無い社員をともに認めることになり、一人以上という定めとも、いずれか一つという定めとも噛み合いません。
- イa:0..* / b:1..*:部門の側だけ下限を零とする組合せです。社員が一人もいない部門を認めることになりますが、部門には一人以上の社員が所属すると条件が定めているので、その状態は生じません。
- ウa:1..* / b:0..*:社員の側だけ下限を零とする組合せです。どの部門にも所属していない社員を認めることになりますが、社員はいずれか一つの部門に所属すると条件が定めているので、そうはなりません。
この問題の用語
- 部門組織の中で、仕事の種類や担当ごとに分けられたまとまりです。専門ごとに分ける分け方と、製品や地域ごとに分ける分け方があります。
出典:令和5年度 春期 応用情報技術者試験 午前 問29
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)