過去問解きまくり研究所 ホーム

平成29年度 春期 午前Ⅱ 問3

データベース設計

このような場合のデータモデル

人の健康状態の検査では,検査項目が人によって異なるだけでなく,あらかじめ決まっていないことも多い。このような場合のデータモデルとして,最も適切なものはどれか。ここで,検査項目の標準値は,検査項目ごとに最新の値だけを保持し,計測値は計測日時とともに保持する。また,モデルの表記にはUMLを用いる。

選択肢は原典ではUMLのクラス図(各肢を文字に書き写した。[クラス名]属性/属性,多重度つきの関連)。

答えと解説を見る

✓ これが正解イ(原典は図。[人]識別 1 ──── * [検査値]計測日時/計測値 * ──── 1 [検査項目]項目名/標準値)

解説

人と検査項目の間に検査値を置き、計測ごとに1件ずつ持たせます。

見分ける軸は、検査項目の標準値と、人ごとの計測値をどこに持たせるかです。標準値は検査項目ごとに最新の値を一つだけ持つので、検査項目は人と切り離した独立のクラスにします。一方、計測値は、ある人がある検査項目をいつ測ったかごとに生じるので、計測日時と計測値を持つ検査値を、人と検査項目の両方に結び付けます。正解のUMLのクラス図は、人1に対して検査値が多、検査値多に対して検査項目が1という形で、まさにこの持たせ方になっています。検査項目が人によって異なり、前もって決まっていなくても、検査項目に行を足すだけで対応できます。マスタにあたる値と、出来事ごとに生じる値を別のクラスに分けるのが見分け方です。

ほかの選択肢はなぜ違うのか

出典:平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問3

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)