データベーススペシャリスト平成31年春期 午前U 問3

午前U 問3

部,課,係の階層関係から成る組織のデータモデルとして,モデルA〜Cの三つの案が提出された。これらに対する解釈として,適切なものはどれか。組織階層における組織の位置を組織レベルと呼ぶ。組織間の階層関係は,親子として記述している。親と子は循環しないものとする。ここで,モデルの表記にはUMLを用い,{階層}は組織の親と子の関連が循環しないことを指定する制約記述である。
03.gif/image-size:455×223
  • 新しい組織レベルを設ける場合,どのモデルも変更する必要はない。
  • どのモデルも,一つの子組織が複数の親組織から管轄される状況を記述できない。
  • モデルBを関係データベース上に実装する場合,親は子の組織コードを外部キーとする。
  • モデルCでは,組織の親子関係が循環しないように制約を課す必要がある。
  • [この問題の出題歴]
  • データベース H28春期 問4

分類

テクノロジ系 » データベース » データベース設計

正解

解説

  • モデルAだけは、新しい組織レベル(事業所や班など)が設けられるたびに新しいクラスを追加する必要があります。
  • どのモデルも組織の階層構造を表しています。モデルAならば1つの係は1つの課と1つの部の双方に管轄されます。
  • モデルBでは、親と子の関係は「0..1対*」になっています。関係データベースへの変換ではクラス図における多重度が「0..1」「1」のクラスが参照される側、「*」のクラスが参照する側になります。したがって子の組織コードが主キー、親の組織コードが外部キーになります。
  • 正しい。モデルCは、{親組織:A,子組織:B}と{親組織:B,子組織:A}の組合せのような循環関係や{親組織:A,子組織:A}などの自己参照を制約できていません。また最上位の組織を記述するためには、親の多重度を0..1にしなくてはなりません。
© 2016-2019 データベーススペシャリストドットコム All Rights Reserved.

Pagetop