応用情報技術者試験ナビ ロゴ 応用情報技術者試験ナビ
合格発表日:2025年7月3日(あと43日)

応用情報技術者試験 令和2年秋 午前問27 解説付き過去問

問題

UMLを用いて表した図のデータモデルから、"部品"表、"納入"表及び"メーカ"表を関係データベース上に定義するときの解釈のうち、適切なものはどれか。


正解

解説

この問題は、UMLクラス図を関係データベースに変換する際の適切な設計判断ができるかを問うものです。図には「部品」「納入」「メーカ」の3クラスが示されており、これらの関係性から正しいキーや外部キーの構成を読み解く必要があります。

  1. UML図の関係性の読み取り
    「納入」は「部品」と「メーカ」の間に存在する関連クラスです。UML図からは「1対多」の関係が2つ見て取れます:
    ・1つの部品は複数回納入される(「部品」1 対 「納入」多)
    ・1つのメーカは複数の納入を持つ(「メーカ」1 対 「納入」多)
    このような「多対多」の関係を解消するために中間表として「納入」表を設けるのが一般的です。

  2. 候補キーとしての部品番号とメーカ番号
    「納入」表は、「部品番号」「メーカ番号」「納入日」などの属性を持ちます。
    部品番号とメーカ番号の組み合わせは、特定の納入レコードを識別する上で重要な情報となります。
    このような属性の組み合わせは、主キーとしても使える場合があり、候補キーの一部に設定することが可能です。
    たとえば、納入日も含めて複合主キーとすれば、「同じ部品を同じメーカから複数回納入する」ことにも対応できます。

  3. 他の選択肢の誤り
    ・「同じ部品を同じメーカから複数回納入することは許されない」は誤りです。納入日などを用いれば複数納入の記録が可能です。
    ・「納入表に外部キーは必要ない」は誤りであり、納入表は「部品」表と「メーカ」表の外部キーを必ず持ちます。
    ・「メーカ表が部品番号を外部キーとして持つ」は、表構造の方向性に誤解があり、正しくは「納入」表が部品番号とメーカ番号を外部キーとして持ちます。

したがって、「部品番号とメーカ番号の組を"納入"表の候補キーの一部にできる」という解釈が正しく、データベース設計においても妥当です。