DBデータベーススペシャリスト試験 午前Ⅱ

平成23年度特別 データベーススペシャリスト 午前Ⅱ 問3

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

人の健康状態の検査では,検査項目が人によって異なるだけでなく,あらかじめ決まっていないことも多い。このような場合の概念データモデルとして,最も適切なものはどれか。ここで,検査項目は標準値をもち,適宜見直しが発生するものとする。また,モデルの表記にはUMLを用いる。
人,検査項目,検査値の属性と関連及び多重度を異なる形で表した四つのUML概念データモデル。
人,検査項目,検査値の属性と関連及び多重度を異なる形で表した四つのUML概念データモデル。

選択肢

  1. ア
    図ア
  2. イ
    図イ
  3. ウ
    図ウ
  4. エ
    図エ
解き方のヒントを見る

概念モデルで関係を整理する視点

変化する検査項目と基準値を整理するときは、値そのものだけでなく、何を対象に、どの時点の、どの基準と結び付く情報なのかを区別して考えると、概念間の関係を検討しやすくなります。

この問題で問われていること

一つの関係に注目し、検査項目・基準・測定時点などの情報が、それぞれ独立した対象なのか、属性として扱うべきなのかを、意味の重複や将来の変更可能性から検討してください。

視点

各情報の意味と役割を分け、独立して管理する必要性や、別の情報との結び付き方を概念レベルで整理します。

確認ポイント

  • 情報ごとの意味が混同されていないか確認する
  • 変化や追加が起きた場合の扱いやすさを考える
  • 対象同士の結び付きが自然に説明できるか確認する
正解と解説を見る

正解

イ

解説

人と検査項目は多対多の関係になりますが、その関係には測定日時と測定値という属性が発生します。したがって、測定記録を独立したクラスとして表し、人と検査項目の双方に関連付ける図イが最も適切です。

理由

一人の人は複数の検査項目を受け、一つの検査項目も多くの人に対して実施されます。さらに、同じ人が同じ検査項目を時期を変えて受けることもあるため、測定日時と測定値をもつ検査値を中間クラスとして表す必要があります。

比較

検査項目は項目名と標準値をもつ定義情報であり、測定のたびに複製するものではありません。標準値の見直しを独立して扱うには、検査値の記録と検査項目の定義を分離し、両者を関連付ける構造が適しています。

選択肢ア

これは不正解だよ。人と検査項目を直接結び付け、検査日時や検査値まで検査項目側に含めています。この構造では、同じ検査項目を複数の人が受けたときの測定記録を独立して管理しにくく、検査項目の定義情報と個別の測定結果が混在します。

選択肢イ(正解)

これは正解だよ。人と検査項目の間に検査値を置き、検査値が計測日時と計測値をもつ構造になっています。一人が複数の検査を受け、検査項目も多くの人に適用でき、同一項目の再検査も個別の記録として管理できます。

選択肢ウ

これは不正解だよ。人と検査値の関連に検査項目を結び付ける表現ですが、検査項目が測定記録を識別する独立したクラスとして整理されていません。項目名や標準値という定義情報を、個々の測定結果から適切に分離して管理しにくい構造です。

選択肢エ

これは不正解だよ。人と検査項目、検査項目と検査値を直列に結んでいますが、検査値は特定の人と特定の検査項目の組合せで発生する記録です。この関係では、同じ検査項目を複数の人が受ける多対多の関係を正しく表せません。

学習のポイント

多対多の関係に発生する属性は、関連エンティティとして独立させて考えます。

出典:独立行政法人 情報処理推進機構(IPA)平成23年度特別 データベーススペシャリスト試験 午前Ⅱ 問3(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針