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

この設問が問うていること
関係データベースにおける「正規化」を行い、受注データと商品データの適切な項目分割を特定する設問です。
ア受注データ(受注番号, 発注者名, 商品番号, 商品名, 個数, 単価)
選択肢アの解説: 表が分割されておらず、冗長性(同一商品の情報の重複)が残ったままであるため誤りです。
イ受注データ(受注番号, 発注者名, 商品番号) 商品データ(商品番号, 商品名, 個数, 単価)
選択肢イの解説: 注文ごとの数量を表す「個数」が商品データ表に含まれており、どの注文でいくつ売れたかが分からなくなるため誤りです。
ウ受注データ(受注番号, 発注者名, 商品番号, 個数, 単価) 商品データ(商品番号, 商品名)
選択肢ウの解説: 同一商品の単価が受注データ側に残っており、商品の単価改定時などに不整合が生じやすいため誤りです。
エ受注データ(受注番号, 発注者名, 商品番号, 個数) 商品データ(商品番号, 商品名, 単価)正解
選択肢エの解説: 受注に固有の「個数」を受注データに置き、商品名や単価を商品データに適切に切り離しているため適切です。
総合解説
関係データベースの正規化において、主キーに完全に従属する項目をそれぞれ独立したテーブルへ分離します。本問では、「受注番号」に対して一意に決定される項目(発注者名、購入個数など)と、「商品番号」に対して一意に決定される項目(商品名、単価など)があります。 したがって、受注データとして {受注番号, 発注者名, 商品番号, 個数}、商品データとして {商品番号, 商品名, 単価} の組み合わせに分割することが適切です。これによりデータの重複や矛盾(更新時異常など)を防ぐことができます。よって、正解はdです。
AIAIにその場で質問(デモ応答)
こんな聞き方もできます(タップで質問)