第6問
A社は、リレーショナルデータベースによって管理するために、販売業務に関す る取引データを正規化する必要があるかどうかを検討している。現状では、A社は 以下のような「売上表」を用いて取引データを管理している。 現状の「売上表」に関する記述として、最も適切なものを下記の解答群から選べ。 売上表 売上番号 顧客番号 顧客名 売上日 商品名 単価 数量 小計 売上合計 S001 C005 山田太郎 5 月1 日 商品A 100 1 100 商品C 300 2 600 700 S002 C006 田中一郎 5 月2 日 商品A 100 2 200 商品B 200 1 200 商品C 300 1 300 700 S003 C005 山田太郎 5 月10 日 商品A
- ア 顧客名の欄に山田太郎が2 回出てくるのはデータの重複であることから、非 正規形である。
- イ すでに第二正規形であるので、依存関係がある顧客番号と顧客名を別表に移 せば第三正規形になる。
- ウ すでに第三正規形であるので、これ以上正規化する必要はない。
- エ 一つの売上番号に対して、商品名、単価、数量および小計の項目が複数ある ので、非正規形である。
▼ 解答・解説を見る
正解:エ
解答:エ
正規化の前提として、まず非正規形か否かを判定する問題。1件の売上番号(1行)の中に商品名・単価・数量・小計が複数組み入っている(繰り返し項目がある)点に着目する。
- 顧客名の重複だから非正規形(×):複数行に同じ顧客名が現れること自体はリレーショナルデータの通常の状態で、非正規形の根拠にはならない。非正規形の判定基準は「繰り返し項目(1セルに複数値)」の有無である。
- すでに第二正規形(×):繰り返し項目が残っており、そもそも第一正規形にも達していないため誤り。
- すでに第三正規形(×):同上。繰り返し項目がある段階で第一正規形ですらない。
- 一つの売上番号に対し商品名・単価・数量・小計が複数あるので非正規形(○):1行の中に商品明細が繰り返されており、繰り返し項目を含む非正規形である。第一正規化により明細を別行(別表)に分解する必要がある。
よって エ。