あるエンティティを関係データベース上に実装しようとしたとき、その主キーが多くの属性から構成される複合キーとなることが分かった。主キーとして扱う属性を少なくして扱いやすくしたい。この対応として、適切なものはどれか。
選択肢
- ア複合キーを構成する属性のうち、エンティティの性格を最もよく表している一つの属性を主キーとし、残りの属性を外部キー(foreign key)にする。
- イ複合キーを構成する属性のうち、エンティティの性格を最もよく表している一つの属性を主キーとし、残りの属性を代替キー(alternate key)とする。
- ウ連番などを値としてとる列を新たに設けて主キーとし、複合キーの代理キー(surrogate key)とする。
- エ連番などを値としてとる列を新たに設けて主キーとし、複合キーを外部キー(foreign key)にする。
正解と解説
正解:ウ 連番などを値としてとる列を新たに設けて主キーとし、複合キーの代理キー(surrogate key)とする。
多数の属性から成る複合主キーは、参照する側の外部キーも同じ数だけ列を持つことになり、結合条件も長くなって扱いにくい。この場合は業務的な意味を持たない連番などの単一列を新たに設けて主キーとし、もとの複合キーは一意性制約を課した候補キーとして残す。この新設した人工的な主キーが代理キー(サロゲートキー)である。
選択肢ごとの解説
- ア複合キーの一部だけでは一意性が保証されず主キーにならない。残りを外部キーにするのも意味が通らない。
- イ同様に一部の属性だけでは一意にならず、残りを代替キーとしても一意性は担保できない。
- ウ正しい。連番などの新しい列を主キーに立てるのが代理キー(サロゲートキー)の導入である。
- エもとの複合キーは自エンティティ内の候補キーであって、他表を参照する外部キーではない。
同じ分野の他の問題
- 従業員の、従業員番号、氏名及び使用できるプログラム言語を管理するために、"従業員"表及び"プログラム言語"表を設計する。…2025年度 秋期 午前II 問4
- UMLを用いて表した商品と倉庫のデータモデルに関する記述のうち、適切なものはどれか。ここで、商品の倉庫間の移動はないもの…2025年度 秋期 午前II 問3
- 概念データモデルの説明として、最も適切なものはどれか。2023年度 秋期 午前II 問3
- 階層構造をもつ組織と、従業員の組織への所属を表すUMLのクラス図のうち、"従業員は組織階層中のどの組織にも所属できるが、…2024年度 秋期 午前II 問6
- データ中心アプローチの特徴はどれか。2023年度 秋期 午前II 問24
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。