平成28年度 春期 (特別措置試験) 問94
データベース
主キーに関する問題
商品の仕入状況を管理している関係データベースの“仕入一覧”表を正規化して,“仕入”表と“商品”表に分割したい。分割後の二つの表に共通して必要なフィールドとして,最も適切なものはどれか。ここで,仕入れは一度に一つの商品だけを仕入れることとし,仕入番号で一意に識別できる。また,商品は商品番号で一意に識別できる。
仕入一覧
| 仕入番号 | 商品番号 | 商品名 | 個数 | 単価 | 支払方法 | 納品日 |
|---|
- ア仕入番号
- イ支払方法
- ウ商品番号
- エ商品名
答えと解説を見る
✓ これが正解ウ商品番号
解説
分けた二つの表をあとでつなぎ直せる列が、両方に必要です。
表を分けるときに欠かせないのは、あとでつなぎ直せることです。共通して必要な列とは、そのつなぎ目のことを指しています。設問は、二つの表それぞれを一意に決める列をはっきり書いています。一意に識別できるという一文は、答えの置き場所を指しています。つなぎ目は、一つしかない側の主キーを、何度も現れる側が持つ形になります。向きを取り違えると、分けたはずの表の中で同じものが何度も並び、分けた意味が消えます。重なる値しか持たない列や、片方にしか必要ない列は、つなぎ目になれません。どちらの表に置くとどちらが増えるのかを、一度だけ頭の中で並べてみます。一意に識別できるという一文が、答えを指しています。つなぎ目は、一つしかない側の主キーを、何度も現れる側が持ちます。向きを取り違えると、分けた意味が消えます。
ほかの選択肢はなぜ違うのか
- ア仕入番号:仕入の側を一意に決める列です。商品の表に置くと、同じ商品が仕入のたびに現れます。つなぐ向きが逆になっており、正規化して分けた意味が消えてしまいます。つなぐ向きが逆になっています。同じ商品が何度も並びます。商品の表が膨らみます。
- イ支払方法:仕入ごとの属性で、同じ値が何度も重なります。重なる列では行を一つに決められないので、つなぎ目の役目を果たせません。そもそもキーの候補にすらなりません。値が何度も重なります。行を一つに決められません。キーの候補になりません。
- エ商品名:商品の表だけが持つ属性です。設問は商品番号で一意に識別できると書いており、名前についてはそう書いていません。同じ名前が並ぶ余地が残ってしまいます。名前は一意とは限りません。設問が宣言した列だけがキーになれます。
この問題の用語
- 関係データベースデータを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。データの定義や操作にはSQLを使います。
出典:平成28年度 春期 ITパスポート試験(特別措置試験) 問94
同じ用語が出る問題
- 令和8年度 問72:外部キーに関する問題(関係データベース)
- 令和8年度 問69:正規化に関する問題(関係データベース)
- 令和8年度 問57:外部キーに関する問題(関係データベース)
- 令和7年度 問66:関係データベースに関する問題(関係データベース)
- 令和6年度 問93:抽出された従業員(関係データベース)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)