部、課、係の階層関係から成る組織のデータモデルとして、モデルA〜Cの三つの案が提出された。これらに対する解釈として、適切なものはどれか。組織階層における組織の位置を組織レベルと呼ぶ。組織間の階層関係は、親子として記述している。親と子は循環しないものとする。ここで、モデルの表記にはUMLを用い、{階層}は組織の親と子の関連が循環しないことを指定する制約記述である。

親子の対で階層を持つ設計は循環禁止の制約が別途必要

データベーススペシャリスト試験2021年度 秋期 午前II2/データモデリング / 設計方針

モデルA:部(部コード)1—親/子—*課(課コード)1—親/子—*係(係コード)の階層構造。モデルB:組織(組織コード、組織レベル)が自己参照する構造で、親側が0..1、子側が*、{階層}制約が付与されている。モデルC:組織(組織コード、組織レベル)と組織構造(親組織コード、子組織コード)が、親側1対組織構造側*、子側1対組織構造側*の2本の1対多の関連で結ばれている({階層}制約の記載は無い)。
モデルA:部(部コード)1—親/子—*課(課コード)1—親/子—*係(係コード)の階層構造。モデルB:組織(組織コード、組織レベル)が自己参照する構造で、親側が0..1、子側が*、{階層}制約が付与されている。モデルC:組織(組織コード、組織レベル)と組織構造(親組織コード、子組織コード)が、親側1対組織構造側*、子側1対組織構造側*の2本の1対多の関連で結ばれている({階層}制約の記載は無い)。

選択肢

正解と解説

正解: モデルCでは、組織の親子関係が循環しないように制約を課す必要がある。

モデルCは組織と、親組織コード・子組織コードの対を持つ組織構造の表で階層を表すが、この構造自体は親子の対を自由に登録できるため、たどっていくと元へ戻ってしまう関係も作れてしまう。モデルBが{階層}という制約記述で循環を禁じているのに対し、モデルCには同等の制約が明示されていないので、別途循環禁止の制約を課す必要がある。よってエが適切。

選択肢ごとの解説

出典:令和3年度 秋期 データベーススペシャリスト試験 午前II 問2(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。