令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問6
テクノロジ/データベース次の表に対して,第 3 正規形まで正規化を行った場合,少なくとも幾つの表に分割されるか。ここで,顧客の 1 回の注文に対して一つの受注番号が割り当てられ,顧客は 1 回の注文で一つ以上の商品を注文できるものとする。 受注番号|顧客コード|顧客名|受注日|商品コード|商品名|単価|受注数|受注金額 1055|A7053|鈴木電気|2025-07-01|T035|テレビA|85,000|10|850,000 1055|A7053|鈴木電気|2025-07-01|K083|無線スピーカーA|23,000|5|115,000 1055|A7053|鈴木電気|2025-07-01|S172|Blu-rayプレイヤーB|78,000|3|234,000 2030|B7060|中村商会|2025-07-03|T050|テレビB|90,000|3|270,000 2030|B7060|中村商会|2025-07-03|S172|Blu-rayプレイヤーB|78,000|10|780,000 3025|C9025|佐藤電気|2025-07-03|T035|テレビA|85,000|3|255,000 3025|C9025|佐藤電気|2025-07-03|K085|無線スピーカーB|25,000|2|50,000 3025|C9025|佐藤電気|2025-07-03|S171|Blu-rayプレイヤーA|50,000|8|400,000 3090|B7060|中村商会|2025-07-04|T050|テレビB|90,000|1|90,000 3090|B7060|中村商会|2025-07-04|T035|テレビA|85,000|2|170,000 (注:本サイトでは原問題の表を文字表記に変換しています)
出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問6
- ア2
- イ3
- ウ4
- エ5
正解:ウ
解説
この表には,顧客コードから顧客名が決まる推移的関数従属や,商品コードから商品名・単価が決まる推移的関数従属が含まれています。第3正規形まで正規化すると,受注(受注番号,顧客コード,受注日),顧客(顧客コード,顧客名),受注明細(受注番号,商品コード,受注数),商品(商品コード,商品名,単価)の四つの表に分割する必要があります。
選択肢ごとの解説
- ア誤り。2表への分割では,顧客や商品に関する推移的関数従属を排除できず,第3正規形の条件を満たせません。
- イ誤り。3表への分割では,受注に関する属性と商品・顧客に関する属性のいずれかで重複や更新時異状が残り,第3正規形の条件を満たせません。
- ウ正しい。受注,顧客,受注明細,商品の四つの表に分割することで,全ての非キー属性が各表の主キーに完全関数従属し,推移的関数従属も排除された第3正規形になります。
- エ誤り。4表で第3正規形の条件を満たせるため,5表は最小の分割数ではありません。