データベース|令和元年度 秋期 ITパスポート試験(特別措置試験) 問66
関係データベースにおいて,主キーを設定する理由はどれか。
- 算術演算の対象とならないことが明確になる。
- 主キーを設定した列が検索できるようになる。
- 他の表からの参照を防止できるようになる。
- ✓ これが正解表中のレコードを一意に識別できるようになる。
解説
表の中にある行を、ただ一つに絞り込めるようにするためです。
関係データベースでは、データを表の形で持ちます。その表の中の一つの行を、ほかと取り違えずに指し示せるようにするために置くのが主キーです。社員の表なら社員番号、商品の表なら商品コードのように、重ならない値を持つ列が選ばれます。主キーに選んだ列には、同じ値が二つ現れてはならず、空のままにもできないという決まりが付きます。この決まりがあるからこそ、値を一つ指定すれば行が一つに決まります。直したい行や消したい行を、間違いなく名指しできるようになります。ほかの表から、あの行のことだと指し示すときも、この列の値を使って結び付けます。名前や日付のように重なりうるものは、主キーには向きません。適した列がなければ、通し番号を新たに設けます。よって最も適切なのは、レコードを一意に識別できるようになることです。
ほかの選択肢はなぜ違うのか
- 算術演算の対象とならないことが明確になる、というのは当たりません。社員番号のように数字でできた主キーもありますが、足したり引いたりしないのは、それが番号として使われているからで、主キーに定めたからではありません。
- 設定した列が検索できるようになる、というのも当たりません。主キーでない列でも検索はできます。速く探せるようにする仕組みは別に用意されていて、主キーはその仕組みを兼ねることが多いだけです。狙いと結果を取り違えています。
- 他の表からの参照を防止できる、というのは向きが逆です。主キーがあるからこそ、ほかの表から外部キーとして指し示せるようになります。防ぐためではなく、正しく指せるようにするために置くものです。参照される側に要る決まりごとです。
この問題に関係する言葉
- 主キー
- 関係データベースデータを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。設計に使うE-R図は、この形での実装を前提にしません。
- レコード
- 外部キー
出典:令和元年度 秋期 ITパスポート試験(特別措置試験) 問66
同じ単元をまとめて解くならデータベースへ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)