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

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

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

問題

社員と年の関連が次の条件を満たす場合をUMLのクラス図で記述するとき,a,bに入る多重度の適切な組合せはどれか。ここで,年クラスのインスタンスは毎年存在する。 〔条件〕 (1)すべての社員は入社年を特定できる。 (2)年によっては社員が入社しないこともある。
社員と年の入社年関連にある多重度a,bの位置,二つの条件,及び四つの多重度の組合せを示す図。
社員と年の入社年関連にある多重度a,bの位置,二つの条件,及び四つの多重度の組合せを示す図。

選択肢

  1. ア
    a:0..*,b:0..1
  2. イ
    a:0..*,b:1..1
  3. ウ
    a:1..*,b:0..1
  4. エ
    a:1..*,b:1..1
解き方のヒントを見る

多重度を読むための確認視点

関係の両端に示された記述を、どの対象からどの対象を見る条件なのかという視点で整理し、対応関係や制約の読み違いがないかを落ち着いて確認しましょう。

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

一つの関係を片側だけで判断せず、各端の記述がどの対象の集合に対する条件として置かれているかを対応づけて読むことに集中してください。

視点

図の記号や表現を個別に暗記して当てはめるのではなく、対象同士の対応をどの向きから読んでいるかをそろえ、両端の条件が同じ関係を指しているか確認します。

確認ポイント

  • 各端の記述が、どの対象を基準に述べられているか確認する
  • 読み始める側を変えたとき、対応する対象がずれていないか確認する
  • 図全体の関係と各記述の対応が矛盾なく読めるか確認する
正解と解説を見る

正解

イ

解説

aは一つの年に対応する社員数を表し、bは一人の社員が対応できる入社年の数を表します。条件から、それぞれの下限と上限を判断します。

理由

年クラスの一つのインスタンスから見ると、その年に入社する社員は存在しない場合がある一方、複数存在することもあります。そのため、社員側の多重度aは0以上で上限なしになります。

比較

社員クラスの一つのインスタンスから見ると、条件(1)により入社年を必ず一つ特定できます。したがって、年側の多重度bは必ず一つです。条件(2)は年ごとの社員数がゼロでもよいことを示します。

選択肢ア

これは不正解だよ。aの0..*は、ある年に入社する社員がいない場合や複数いる場合を表しており、条件(2)と整合します。しかし、bの0..1では社員に入社年がない場合も許してしまい、すべての社員が入社年を特定できるという条件(1)を満たしません。

選択肢イ(正解)

これは正解だよ。aの0..*は、年によって社員が入社しない場合を含め、一つの年に複数の社員が対応する可能性も表します。bの1..1は、すべての社員が必ず一つの入社年を特定できるという条件(1)を正しく表しています。

選択肢ウ

これは不正解だよ。bの0..1では社員が入社年を持たない状態を許すため、条件(1)に反します。また、aの1..*はすべての年に少なくとも一人の入社社員がいることを要求しますが、条件(2)は入社する社員がいない年もあるとしています。

選択肢エ

これは不正解だよ。bの1..1は、社員ごとに入社年が一つ存在するという条件(1)には合います。しかし、aの1..*は各年に必ず一人以上の社員が必要だと表すため、社員が入社しない年もあるという条件(2)と一致しません。

学習のポイント

関連端の多重度を、反対側のインスタンスから読む練習をしましょう。

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

関連する過去問一覧

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