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

データベーススペシャリスト 2010年 午前2 問06


問題文

次の表を情報無損失分解したものはどれか。ここで、下線部は主キーを表す。 発注伝票(注文番号, 商品番号, 商品名, 商品単価, 注文数量)

選択肢

ア:発注(注文番号, 注文数量) 商品(商品番号, 商品名, 商品単価)
イ:発注(注文番号, 注文数量) 商品(注文番号, 商品番号, 商品名, 商品単価)
ウ:発注(注文番号, 商品番号, 注文数量) 商品(商品番号, 商品名, 商品単価)(正解)
エ:発注(注文番号, 商品番号, 注文数量) 商品(商品番号, 商品名, 商品単価, 注文数量)

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

情報無損失分解【午前2解説】

正解の理由

選択肢「ウ」は、発注伝票の主キーである「注文番号」と「商品番号」の複合キーを発注表に保持し、注文数量を属性として持たせています。また、商品表は「商品番号」を主キーとして商品名と商品単価を管理しています。これにより、元の表の情報を完全に再現でき、情報の重複や矛盾も防げるため、情報無損失分解として正しい形です。

解法ステップ

  1. 元の表の主キーを確認する(注文番号+商品番号の複合キー)。
  2. 主キーを分解後の表に正しく保持できているかを確認する。
  3. 属性を適切に分割し、重複や矛盾が生じないか検証する。
  4. 分解後の表を結合して元の表が再現できるか(情報無損失性)を確認する。
  5. 主キーの誤りや属性の不適切な配置がないか最終チェックする。

選択肢別の誤答解説

  • ア: 発注表に「注文番号」のみを主キーとし、商品番号を含めていないため複合キーが崩れ、情報が欠落します。
  • イ: 商品表に「注文番号」と「商品番号」の複合キーを持たせているが、商品情報は商品番号単独で管理すべきであり、主キーの役割が不適切です。
  • ウ: 正解。複合キーを保持し、属性も適切に分割されているため情報無損失分解となっています。
  • エ: 商品表に注文数量を含めているため、注文数量が商品情報に混入し、正規化の観点から誤りです。

よくある誤解

主キーを単一のキーと誤認し、複合キーを分割してしまうと情報が欠落したり、再結合できなくなることがあります。商品数量を商品表に含めるのも誤りです。

補足コラム

情報無損失分解とは、元の関係(表)を複数の関係に分解しても、自然結合などで元の関係を完全に再現できる分解のことです。主キーの保持と属性の適切な分割が重要で、正規化の基本的な考え方の一つです。

FAQ

Q: 複合キーとは何ですか?
A: 複数の属性を組み合わせて一意にレコードを識別するキーのことです。今回の例では「注文番号」と「商品番号」の組み合わせが複合キーです。
Q: なぜ注文数量を商品表に含めてはいけないのですか?
A: 注文数量は注文ごとに異なる情報であり、商品固有の情報ではないため、商品表に含めるとデータの重複や矛盾が生じます。

関連キーワード: 正規化、情報無損失分解、主キー、複合キー、データベース設計、関係データベース
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

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

クイズ画面へ遷移する→

すぐに利用可能!

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

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