DBデータベーススペシャリスト試験 午前Ⅱ
平成29年度春期 データベーススペシャリスト 午前Ⅱ 問3
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題

選択肢
- ア図ア
- イ図イ
- ウ図ウ
- エ図エ
解き方のヒントを見る
時系列モデルを考える視点
可変的に観測される検査項目を扱うときは、項目の変化と時間の流れを別々に捉え、どの情報を同じ枠組みで管理するかを整理して考えます。
この問題で問われていること
一つの観点として、データの各要素がいつ観測され、後から追加・更新される情報とどう対応づくかを、問題文の条件に沿って確認してください。
視点
時間の流れに沿って情報を整理する際は、観測された項目そのものだけでなく、各値がどの時点の状態を表すか、項目の構成が変わる可能性をどう受け止めるかに注目します。特定の方式を決める前に、時点・項目・更新の関係を同じ観点で照らし合わせると、条件の読み落としを減らせます。
確認ポイント
- 観測時点とデータの対応関係を確認する
- 項目の増減や欠測をどう扱う前提かを見る
- 時間の順序が判断に影響するかを確かめる
正解と解説を見る
正解
イ
解説
正しいデータモデルはイです。検査項目は項目名と最新の標準値を保持し、検査値は人ごとに複数記録でき、各記録に計測日時と計測値を持たせる必要がある。
理由
イでは、人と検査値が1対多なので、1人について複数回の計測値を保持できる。また、検査値と検査項目は多対1なので、各計測値が一つの検査項目に対応する。検査項目には項目名と標準値、検査値には計測日時と計測値が配置され、設問の条件に一致する。
比較
標準値は検査項目ごとに最新の値だけを保持するため、検査値とは別に検査項目の属性として管理する必要がある。一方、計測日時と計測値は人ごとの個々の計測記録に属する。したがって、両者を一つのクラスに混在させず、検査値を介して人と検査項目を結ぶモデルが適切です。
選択肢ア
これは不正解だよ。検査項目クラスに標準値だけでなく計測日時と計測値まで置いているため、個人ごとの計測記録を分離できない。人と検査項目の関連も1対多であり、同じ項目について複数人・複数日時の値を適切に保持する構造になっていない。
選択肢イ(正解)
これは正解だよ。人と検査値を1対多、検査値と検査項目を多対1としているため、各人の複数回の計測を記録できる。検査項目には項目名と最新の標準値、検査値には計測日時と計測値があり、設問の保持条件を満たしている。
選択肢ウ
これは不正解だよ。人と検査値が多対多で結ばれているため、一つの検査値を複数人が共有できる表現になる。計測値は個人の計測記録として扱う必要があり、検査項目を関連クラスに置くこの構造では、値の所属を明確に表せない。
選択肢エ
これは不正解だよ。人と検査項目を直接1対多で結び、検査項目と検査値を別に1対多で結んでいるため、個々の検査値がどの人の記録かを対応付けられない。計測日時と計測値を保持していても、人別の計測履歴を表す関連が不足している。
学習のポイント
UMLの多重度と、属性をどのクラスに置くかを対応させて判断する。
出典:独立行政法人 情報処理推進機構(IPA)平成29年度春期 データベーススペシャリスト試験 午前Ⅱ 問3(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針