平成22年度 春期 午前Ⅱ 問4
データベース設計
複合キーに関する問題
関係データベース上に実装するエンティティの主キーが複合キーであり,複合キーを構成している属性数が多すぎるので,少なくして扱いやすくしたい。この場合の対応として,適切なものはどれか。
- ア複合キーを構成している属性のうち,エンティティの性格を最もよく表している属性を主キーとし,残りの属性を外部キーにする。
- イ複合キーを構成している属性のうち,エンティティの性格を最もよく表している属性を主キーとし,残りの属性を代理キー(alternate key)にする。
- ウ複合キーを連番など代用のキー(surrogate key)に置き換え,複合キーを構成している属性を外部キーにする。
- エ複合キーを連番など代用のキー(surrogate key)に置き換え,複合キーを構成している属性を代理キー(alternate key)にする。
答えと解説を見る
✓ これが正解エ複合キーを連番など代用のキー(surrogate key)に置き換え,複合キーを構成している属性を代理キー(alternate key)にする。
解説
複合キーを連番の代用キーに替え、元の属性は代理キーとして残します。
主キーの属性が多すぎて扱いにくいときは、意味を持たない連番などの代用のキー(surrogate key)を新たに設けて主キーにします。このとき、元の複合キーを構成していた属性の組は、行を一意に識別できるという性質を失ったわけではありません。そこで、それらを主キーにはしないが一意性を保つキー、つまり代理キー(alternate key)として残し、重複が入らないようにしておきます。主キーを置き換えても、元のキーの一意性は代理キーとして守り続ける、という対応で覚えると判断できます。
ほかの選択肢はなぜ違うのか
- ア複合キーを構成している属性のうち,エンテ…:複合キーの一部の属性だけを主キーにすると、その属性だけでは行を一意に識別できなくなります。残りを外部キーにしても一意性は保証されず、主キーとして成り立たない対応です。
- イ複合キーを構成している属性のうち,エンテ…:一部の属性を主キーに選ぶ時点で、元の複合キーが持っていた一意に識別する性質を失います。残りの属性を代理キーにしても、それらだけでは一意にならないので、キーの置き換えとして適切ではありません。
- ウ複合キーを連番など代用のキー(surro…:代用のキーへの置き換えまでは適切ですが、元の属性を外部キーとして扱うと、ほかの表を参照する列という位置付けになり、組合せが一意であることを保つ役目が抜け落ちます。同じ組合せの行が重複して入り得ます。
この問題の用語
- 関係データベースデータを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。データの定義や操作にはSQLを使います。
- エンティティ情報の世界で管理の対象となる、人やものごとの一つひとつを指します。E-R図では、この対象と対象どうしの関連を組み合わせて表します。
出典:平成22年度 春期 データベーススペシャリスト試験 午前Ⅱ 問4
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問11:参照制約に関する問題(関係データベース)
- 令和6年度 秋期 午前Ⅱ 問5:主キーに関する問題(エンティティ)
- 令和6年度 秋期 午前Ⅱ 問3:ノード分割後のB^+木構造(関係データベース)
- 令和3年度 秋期 午前Ⅱ 問4:四つの表の関係を表すE-R図(エンティティ)
- 平成31年度 春期 午前Ⅱ 問5:四つの表の関係を表すE-R図(エンティティ)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)