戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

データベーススペシャリスト 2019年 午前204


問題文

プロパティグラフを表した図のデータモデルを適切に解釈したオブジェクト図はどれか。ここで、モデルの表記にはUMLを用いる。
データベーススペシャリスト 2019年 午前2 問04の問題画像データベーススペシャリスト 2019年 午前2 問04の選択肢の画像

選択肢

(正解)

🔒 解説は解答すると表示されます

プロパティの所属と排他制約【午前2解説】

正解の理由

問題のクラス図は「Property(プロパティ)」が「Node(ノード)」または「Edge(エッジ)」のどちらかに所属する(=所有される)ことを表しています。クラス図上の多重度と注記から次が読み取れます。
  • Node—Property 間の多重度は、Property側が 0..*(ノードは複数のプロパティを持てる)、Node 側が 0..1(1つのプロパティは最大で1つのノードに所属)。
  • Edge—Property も同様に、1つのプロパティは最大で1つのエッジに所属できる。
  • 「制約:同時には成立しない」は、同一の Property インスタンスが同時にノードにもエッジにも所属してはいけない(ノード所属とエッジ所属は排他=XOR)ことを示す。
図の各選択肢を検討すると、 は P01 が E01 にのみ所属しており(Edge に所属)、P01 が同時にどの Node にも所属していないため、クラス図の多重度(0..1)と排他制約を満たします。よって が正解です。

解法ステップ

  1. クラス図の各端の多重度ラベルがそれぞれ「その端のオブジェクトが相手側のオブジェクトを何個持てるか」を示すことを確認する。
    • Property 側にある 0..* は「Node / Edge が複数の Property を持てる」こと。
    • Node / Edge 側にある 0..1 は「1つの Property は最大1つの Node(または Edge)にしか属せない」こと。
  2. 注記「同時には成立しない」は、同一 Property の両方の所属が同時に成立しない(XOR)ことを意味すると解釈する。
  3. 各選択肢のオブジェクト図で、各 Property インスタンスが(a)複数の Node に繋がっていないか、(b)Node と Edge の双方に同時に繋がっていないか、(c)実線/点線などの線種がモデルの意図に合っているかを確認する。
  4. 上の基準に照らして、唯一すべて満たすのが であることを確認する。

選択肢別の誤答解説

図ア の誤り
  • 説明にある E01/E02 から N01 へ「破線の縦線」が引かれている点が問題です。クラス図の破線(注記付き)はクラス間の制約表示に使われており、個々のインスタンス間の実際の所属関係(オブジェクト図上のインスタンスリンク)は実線で表すべきです。図アはインスタンス結合に破線を用いており、図中の線種がクラス図の意味(制約)と混同されています。
  • また、図アでは P01 が N01 に所属している一方で、E01/E02 が同じ N01 に破線で結ばれているため、図の読み取りにおいて「どの所属関係が実際のオブジェクトリンクなのか」が不明瞭になります。クラス図の排他制約は「同一の Property が Node と Edge の両方に属してはいけない」としているため、インスタンス図はその排他性を明確に示す必要があり、図アは線種と構造の両方で不適切です。
図ウ の誤り
  • P01 から左右上方向に伸びる実線で N01 と N02 の両方に接続されています。クラス図で Node 側の多重度が 0..1 であることは「1つの Property は同時に複数の Node に属してはいけない」ことを意味します。図ウは P01 が2つのノードに所属しており、この多重度制約に明確に違反しています(これが最も直接的で致命的な誤りです)。
図エ の誤り
  • P01 から N01 への接続が「点線」で描かれていますが、所属関係(インスタンスの所有リンク)は実線で表現すべきです。点線はしばしば依存や注記的な参照を表すため、インスタンスの「所属が成立している」ことを示すには不適切です。
  • 加えて、図エでは P01 が点線で N01 に接続されつつ、別の E02→P02 の構成があるため、描かれた接続がクラス図の排他制約・多重度を満たしているか判別しにくく、明確な合致を示していません。
(要点)実際のオブジェクト図では「実際に成立している所属関係」を実線で明示し、各 Property が最大でどちらか一方(Node か Edge)にのみ接続されていることを確認する必要があります。 だけがその条件を満たしています。

よくある誤解

  • 多重度の読み間違い:ラベルは「そのラベルが近接しているオブジェクトが相手側を何個持てるか」を示す。例えば Node 側に書かれた 0..1 は「1つの Property が属し得る Node の数は最大1」という意味で、逆に読まないこと。
  • 破線/点線の意味を混同する:クラス図での破線は注記や制約の表示に用いられることがあるが、オブジェクト図のインスタンス関係は原則として実線で示す(所属が「成立している」ことを明示するため)。
  • 排他制約を見落とす:モデルに「同時には成立しない」と明示されている場合、同一の Property が Node と Edge に同時接続されていないか必ず確認する。

補足コラム

UML による「属性(Property)」と「オブジェクト(Object)」の扱いは混同しやすい点です。本問題のようにプロパティグラフを UML で表す場合、プロパティを独立したオブジェクト(Property インスタンス)として扱い、その所属(belongs-to)を明示するのが明快です。クラス図の多重度と排他注記は、オブジェクト図でのリンクの有無・数を厳密に決めるためのルールになります。試験では「どのインスタンスが誰に属しているか」を多重度と注記の両方でチェックする習慣をつけましょう。

FAQ

Q. 「同時には成立しない」は具体的に何を禁止していますか?
A. 同一の Property インスタンスが同時に Node と Edge の両方に所属することを禁止しています。つまりその Property は Node に所属するか Edge に所属するか、どちらか一方(またはどちらにも所属しない)でなければなりません。
Q. オブジェクト図で破線や点線が混在していたらどう判断すればよいですか?
A. インスタンス間の実在する(成立している)関係は実線で示されるべきです。破線・点線は注記・依存・クラス図上の制約表示などで使われることが多く、インスタンスの実際の所属を示す線としては不適切と判断します。

関連キーワード: プロパティグラフ、UML、オブジェクト図、多重度、排他制約、所属関係、インスタンス図
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

データベーススペシャリスト
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について