平成24年度 春期 データベーススペシャリスト試験 午前II 問4
【問題4】
次の概念データモデルを関係データベース上に実装することとし、実装用のデータモデルを作成した。適切な多重度が指定されているものはどれか。ここで、モデルの表記にはUMLを用いる。
【解説】
UMLで表現される多重度は、エンティティ間の関係を定義する際に使用されます。例えば、0..1は「0または1」の意味を、1..*は「1以上」を意味します。適切な多重度の関係があることを確認することが必要です。
ア:
誤り。会社と人の関係が「会社:0..5, 人:0..*」となっていますが、これは「会社」が複数の人を雇うことを許可している一方、「人」は複数の会社に雇われることがあるという関係です。現実的に考えれば、一人の人は1社に雇われることが多いため、この多重度は不適切です。
イ:
誤り。「会社:0..*」と「人:1..5」の関係は、会社が複数の人を雇うことを許可し、1人の人が最大5社に雇われることを示しています。この多重度は一般的な組織の運用に適していないかもしれませんが、許容される場合もあります。
ウ:
誤り。会社が1人以上を雇用し、各人が1社に雇われる(「会社:1..5, 人:0..*」)という関係は、現実的に正しい多重度です。1社は複数の人を雇うことができ、1人は1社に雇われるというのは通常の状況です。
エ:
正しい。会社が1人以上を雇用し、各人が最大1社に雇われる(「会社:1..*,人:0..1」)という関係は一般的に適切です。この多重度は、通常の雇用関係を反映しています。
出典:平成24年度 春期 データベーススペシャリスト試験 午前II 問4