DBデータベーススペシャリスト試験 午前Ⅱ
令和7年度秋期 データベーススペシャリスト 午前Ⅱ 問6
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題

選択肢
- ア2
- イ3
- ウ4
- エ5
解き方のヒントを見る
第3正規形への分解を考える視点
注文と商品を扱う表を第3正規形まで見直すときは、同じ注文に複数の商品が関わる構造と、注文や顧客を識別する情報の依存関係を切り分けて捉えることが重要です。まず意識してください。
この問題で問われていること
この問題では、注文単位の情報と商品明細単位の情報が同じ表に置かれたとき、どの識別情報がどの属性を決めるのかを、段階ごとに整理する視点に絞って確認してください。分割数そのものは推測しないでください。
視点
正規化では、表の値を眺めるだけでなく、業務上の識別単位と情報の依存先を対応づけます。注文全体に属する情報、商品ごとの明細に属する情報、さらに別の対象に属する情報が混在していないかを確認し、どの単位を分けて考えるべきかに注目してください。
確認ポイント
- 注文全体を識別する情報と、個々の商品明細を識別する情報を区別できているか確認する。
- 同じ注文内で商品が複数になる場合、どの情報が繰り返される構造になるかを確認する。
- 各属性がどの識別単位に依存しているかを整理し、異なる単位の情報が混在していないか確認する。
正解と解説を見る
正解
ウ
解説
この表では、注文に関する情報、顧客に関する情報、商品に関する情報、注文ごとの商品明細を別々の関係として扱う必要があります。したがって第3正規形までの最小分割数は4です。
理由
受注番号から顧客コード・顧客名・受注日が決まり、顧客コードから顧客名が決まります。また商品コードから商品名・単価が決まり、受注番号と商品コードの組合せから受注数・受注金額が決まります。このため、顧客、注文、商品、注文明細の4関係に分けるのが最小です。
比較
受注金額は単価と受注数に基づき、例えばテレビAでは85、000円/個×10個=850、000円となります。金額の単位は円、数量の単位は個であり、注文全体の属性と商品単位の属性を混在させないことが重要です。
選択肢ア
これは不正解だよ。2表では、注文と明細を分けても、顧客コードから顧客名が決まる依存や、商品コードから商品名・単価が決まる依存を同じ表に残すことになります。これらの推移的な依存を解消できず、第3正規形までの条件を満たしません。
選択肢イ
これは不正解だよ。3表にすると、注文情報、商品情報、注文明細のいずれかを十分に分離できません。特に顧客コードと顧客名の依存、商品コードと商品名・単価の依存を同時に解消するには、注文・顧客・商品・明細の粒度を区別する必要があります。
選択肢ウ(正解)
これは正解だよ。受注番号を中心とする注文表、顧客コードと顧客名を持つ顧客表、商品コードと商品名・単価を持つ商品表、受注番号と商品コードをキーとする明細表に分けられます。各属性の依存先が整理され、第3正規形までを満たす最小の分割数は4です。
選択肢エ
これは不正解だよ。5表に分けること自体は、さらに属性を細分化すれば可能ですが、問題は少なくとも必要な表数を尋ねています。顧客名や商品単価などを、それぞれ別の決定関係なしに追加分割する理由はなく、4表で必要な依存関係をすでに整理できます。
学習のポイント
主キーの決まり方と、推移的関数従属性を見抜く練習になります。
出典:独立行政法人 情報処理推進機構(IPA)令和7年度秋期 データベーススペシャリスト試験 午前Ⅱ 問6(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針