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

午前U 問4

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

分類

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

正解

解説

  • モデル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