令和3年度 秋期 データベーススペシャリスト試験 午前II 問2
2025年6月30日
【問題2】
部、課、係の階層関係から成る組織のデータモデルとして、モデルA~Cの三つの案が提出された。これらに対する解釈として、適切なものはどれか。組織階層における組織の位置を組織レベルと呼ぶ。組織間の階層関係は、親子として記述している。親と子は循環しないものとする。ここで,モデルの表記にはUMLを用い、{階層}は組織の親と子の関連が循環しないことを指定する制約記述である。
新しい組織レベルを設ける場合、どのモデルも変更する必要はない。
どのモデルも、一つの子組織が複数の親組織から管理される状況を記述できない。
モデル B を関係データベース上に実装する場合、親は子の組織コードを外部キーとする。
モデル C では、組織の親子関係が循環しないように制約を課す必要がある。
【解説】
ア: 新しい組織レベルを設ける場合、どのモデルも変更する必要はない。
誤り。モデルAおよびBでは固定的なレベル(部、課、係)が明示されており、新しい組織レベルを追加する場合、データモデルに変更が必要です。一方で、モデルCは柔軟性が高く、新しいレベルを追加する際にもモデルの変更は不要です。
イ: どのモデルも、一つの子組織が複数の親組織から管轄される状況を記述できない。
誤り。モデルBでは親と子の関係を多対多で表現しており、複数の親組織が一つの子組織を管轄する状況を記述可能です。
ウ: モデルBを関係データベース上に実装する場合、親は子の組織コードを外部キーとする。
誤り。モデルBでは親と子の関係が多対多で表現されており、外部キーを直接使用する実装は適切ではありません。中間テーブルを利用して関連付けを表現する必要があります。
エ: モデルCでは、組織の親子関係が循環しないように制約を課す必要がある。
正しい。モデルCでは親子関係を階層的に記述しており、循環関係が発生しないように制約を設定する必要があります。
【答え】
エ: モデルCでは、組織の親子関係が循環しないように制約を課す必要がある。
出典:令和3年度 秋期 データベーススペシャリスト試験 午前II 問2