IPA公式正解:エ モデルCでは,組織の親子関係が循環しないように制約を課す必要がある。
※ 正解はIPA公表の解答です。解説は当サイトが生成AIを用いて作成しています。誤りにお気づきの場合はお問い合わせください。
【解説】正解は選択肢【エ】です。モデルCは組織と組織構造の多対多の関連で階層を表現していますが、モデルBのような循環防止の制約記述{階層}が定義されていないため、自己参照による無限ループ(親と子の循環)を防ぐ制約を課す必要があります。
【詳細解説】■ 本問の核心・解法のポイント
3つのデータモデルの特徴を比較・分析する問題です。
・モデルA:部・課・係ごとに固定のエンティティを定義するモデル。
・モデルB:同一の組織エンティティが再帰的(自己参照)に関連を持ち、{階層}制約が付与されたモデル。
・モデルC:組織エンティティと、親子関係を保持する「組織構造」の連関エンティティに分離したモデル。
・各選択肢の徹底解説:
・ア:モデルAは部・課・係が固定されているため、例えば「室」や「グループ」などの新しい組織レベルを追加する際にはモデル変更(テーブル追加・関連変更)が必要です。
・イ:モデルCは親組織コードと子組織コードの組を組織構造テーブルで保持するため、親組織と子組織が多対多の関係(多重度が親側も子側も「*」)を表現可能であり、一つの子組織が複数の親組織から管轄されるマトリクス組織等も記述できます。
・ウ:モデルBを実装する場合、子レコードが「親組織コード」を外部キーとして保持します。親が子の組織コードを持つと子組織が1つに限定されてしまいます。
・エ:【選択肢エ★】モデルBには「{階層}」制約が明示されていますが、モデルCには親子関係がループ(循環)しないための制約が記述されていないため、アプリケーション側またはDBMSの制約で循環を防止する必要があります。
よって正解はエです。