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

データベーススペシャリスト 2019年 午前2 問04


問題文

プロパティグラフを表した図のデータモデルを適切に解釈したオブジェクト図はどれか。ここで、モデルの表記には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 情報処理技術者試験対策アプリ

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