令和6年度 問81|データベースの基本と設計(RDBMS・主キー・正規化)

令和6年度 問81四肢択一

一つの表で管理されていた受注データを,受注に関する情報と商品に関する情報に分割して,正規化を行った上で関係データベースの表で管理する。正規化を行った結果の表の組合せとして,最も適切なものはどれか。ここで,同一商品で単価が異なるときは商品番号も異なるものとする。また,発注者名には同姓同名はいないものとする。

受注データ
受注番号発注者名商品番号商品名個数単価
T0001試験花子M0001商品153,000
T0002情報太郎M0002商品234,000
T0003高度秋子M0001商品123,000

正解:エ 表1(受注番号、発注者名、商品番号、個数)/表2(商品番号、商品名、単価)

ポイント

受注データを正規化したときの、表の項目の分け方を問う問題です。

考え方と解き方

受注ごとに決まる項目と、商品ごとに決まる項目を分けずに、単価や個数を同じ表に置くと、誤ります。

  1. 商品名と単価は、商品番号が決まれば決まる値なので、商品の表に置きます。
  2. 発注者名、商品番号、個数は、受注番号ごとに決まる値なので、受注の表に置きます。商品番号で、二つの表を結び付けます。
  3. したがって、適切なのは エ です。

ほかの選択肢

  • ア 受注の表に商品番号がなく、受注と商品を結び付けられません。個数も受注ごとの値なので、商品の表に置くのは不適切です。
  • イ 個数が商品の表にあります。個数は受注ごとの値なので、受注の表に置きます。
  • ウ 単価が受注の表にあり、同じ商品番号の行で単価が重複します。単価は商品番号で決まる値なので、商品の表に置きます。

覚えておくこと

  • 正規化:データの重複を排除し、一貫性を保つために、表を分割していく設計
  • 正規化の例:受注の表から商品の情報を分け、商品番号で結び付ける

(テーマ・覚えること)

出典:令和6年度 ITパスポート試験 公開問題 問81

前の問題次の問題