データベーススペシャリスト試験 令和3年度 秋期 午前II 問2
部、課、係の階層関係から成る組織のデータモデルとして、モデルA~Cの三つの案が提出された。これらに対する解釈として、適切なものはどれか。組織階層における組織の位置を組織レベルと呼ぶ。組織間の階層関係は、親子として記述している。親と子は循環しないものとする。ここで、モデルの表記にはUMLを用い、{階層}は組織の親と子の関連が循環しないことを指定する制約記述である。

選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】エ
モデルCでは、組織と、親組織コード及び子組織コードをもつ組織構造とを分けています。この構造によって任意の組織間に親子関係を登録できますが、主キーや外部キーを設定するだけでは、組織Xの子を組織Y、組織Yの子を組織Xとする循環を排除できません。図にもモデルBのような「{階層}」制約がないため、循環を防ぐ制約を別に課す必要があり、エが適切です。
アの説明は誤りです。モデルAは部、課、係を別々の型として固定しているので、新しい組織レベルを追加する場合は、新たな型と関連を追加する必要があります。
イの説明は誤りです。モデルCでは、一つの子組織を複数の組織構造に登録し、それぞれ異なる親組織と対応付けられるため、複数の親から管轄される状況を表現できます。
ウの説明は誤りです。モデルBを自己参照する外部キーで実装する場合、子の行が親の組織コードを外部キーとして保持します。親が子のコードを保持するのではありません。
【ポイント】 再帰的な親子関係は、同じ表の主キーを参照する外部キーで表現できます。 外部キーは参照先の存在を保証しますが、階層の循環までは防止しません。 固定階層は単純ですが、組織レベルの追加には弱い点も押さえましょう。
出典:令和3年度 秋期 データベーススペシャリスト試験 午前II 問2
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる