受注明細表の正規形
出典: 平成29年度 春期 応用情報技術者試験 午前 問27 (IPA)
“受注明細”表は,どのレベルまでの正規形の条件を満足しているか。ここで,実線の下線は主キーを表す。
受注明細(主キー: 受注番号,明細番号)
| 受注番号 | 明細番号 | 商品コード | 商品名 | 数量 |
|---|---|---|---|---|
| 015867 | 1 | TV20006 | 20 型テレビ | 20 |
| 015867 | 2 | TV24005 | 24 型テレビ | 10 |
| 015867 | 3 | TV28007 | 28 型テレビ | 5 |
| 015868 | 1 | TV24005 | 24 型テレビ | 8 |
- ア 第 1 正規形
- イ 第 2 正規形
- ウ 第 3 正規形
- エ 第 4 正規形
正解と解説を見る
正解: イ
- ア: 第 1 正規形の条件は満たしますが、第 2 正規形の条件も満たしています。
- イ: 部分関数従属がなく第 2 正規形を満たし、商品名が商品コードに従属 (推移的関数従属) しているので第 3 正規形は満たしません。正しい答えです。
- ウ: 商品コードから商品名が決まる推移的関数従属が残っているため、第 3 正規形ではありません。
- エ: 第 3 正規形も満たしていないので、第 4 正規形には届きません。
ポイント
- 繰返し項目がなく、全ての属性が 1 つの値なので 第 1 正規形 は満たします。
- 主キーは (受注番号, 明細番号) で、商品コード、商品名、数量は主キー全体に従属しています。部分関数従属 (主キーの一部で決まる属性) はないので 第 2 正規形 も満たします。
- 商品名は主キーではなく 商品コードで決まります (商品コード → 商品名)。これは推移的関数従属なので、第 3 正規形ではありません。
- よって第 2 正規形までです。