基本情報技術者DBの依存関係・制約・問合せオリジナル・公式資料照合難易度
受注明細の主キーが(受注番号,商品番号)で、商品名は商品番号だけで決まる。非キー属性の商品名が主キーの一部だけへ依存する問題を除くための分解はどれか。
A
商品番号と商品名を商品表へ分ける★ 正解
複合主キーの一部への部分関数従属を取り除く分解である。受注明細には商品番号を持たせ、商品名の重複更新を避ける。
B
主キーを保ったまま、商品名へ検索用索引だけを追加する
検索性能を変えても、部分関数従属と重複更新は取り除けない。
C
すべての受注明細へ商品名をさらに複写する
同じ商品名が複数行へ増え、更新不整合の原因を残す。
D
主キーに商品名を無条件に追加して、商品表は作らない
冗長な属性を主キーへ入れるだけでは目的の従属関係を分離しない。
解説
複合主キーの一部への部分関数従属を取り除く分解である。受注明細には商品番号を持たせ、商品名の重複更新を避ける。
根拠資料・確認情報
対応範囲:2026年度 基本情報技術者試験 科目A・B/シラバスVer.9.2
資料確認日:2026-11-02
アプリ内の初回回答データ
回答データを読み込んでいます。
同じレッスンの問題
問題 2
従業員表は従業員番号が主キーで、従業員番号→部署番号、部署番号→部署名が成り立つ。部署名の変更を一か所で済ませる基本的な分解はどれか。
問題 3
PostgreSQL 16で、NULLS NOT DISTINCTを指定しない通常のUNIQUE制約を1列へ設定した。ほかの制約はない。この列のNULLの扱いはどれか。
問題 4
SQLで表Tのすべての行をDELETE FROM Tで削除した。処理は正常終了し、他の操作はない。表定義について適切な説明はどれか。
問題 5
顧客Aに注文3件、顧客Bに注文0件がある。顧客表の各行について、その顧客の注文がEXISTSなら返す問い合わせを使う。返る顧客行はどれか。