令和6年度 問81
受注データの正規化
出典: 令和6年度 ITパスポート試験 公開問題 問81 (IPA)
一つの表で管理されていた受注データを,受注に関する情報と商品に関する情報に分割して,正規化を行った上で関係データベースの表で管理する。正規化を行った結果の表の組合せとして,最も適切なものはどれか。ここで,同一商品で単価が異なるときは商品番号も異なるものとする。また,発注者名には同姓同名はいないものとする。
受注データ
| 受注番号 | 発注者名 | 商品番号 | 商品名 | 個数 | 単価 |
|---|---|---|---|---|---|
| T0001 | 試験花子 | M0001 | 商品1 | 5 | 3,000 |
| T0002 | 情報太郎 | M0002 | 商品2 | 3 | 4,000 |
| T0003 | 高度秋子 | M0001 | 商品1 | 2 | 3,000 |
- ア

- イ

- ウ

- エ

正解と解説を見る
正解: エ
- ア: 受注の表に商品番号がなく、どの商品の受注か分かりません。個数や単価も商品の表にあると、受注ごとの個数が表せません。
- イ: 個数と単価を商品の表に入れていますが、個数は受注ごとに決まる値なので受注の表に置くべきです。
- ウ: 受注の表に商品名、単価まで残しているため、同じ商品の情報が重複します。正規化できていません。
- エ: 受注の表は受注番号、発注者名、商品番号、個数、商品の表は商品番号、商品名、単価で、重複がなく正規化されています。正しい答えです。
ポイント
- 正規化: 表を分割して、同じデータの重複や、更新のときの矛盾をなくすこと。
- 元の表から、「何が決まれば何が決まるか」を整理します。
・受注番号 → 発注者名、商品番号、個数 (1 件の受注ごとに決まる)
・商品番号 → 商品名、単価 (同一商品なら単価は同じ) - したがって、受注の表は (受注番号、発注者名、商品番号、個数)、商品の表は (商品番号、商品名、単価) になります。
- 商品名や単価を受注の表に残すと、同じ商品の情報が何度も重複してしまいます。
広告
「データベース」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)
広告