平成25年度 秋期 ITパスポート試験 問51 解説 データベースのキー
関係データベースの表に設定する主キー,外部キー及びインデックスのうち,一つの表に対して複数設定できるものだけを全て挙げたものはどれか。
- ア インデックス
- イ 外部キー,インデックス ✓ 正答
- ウ 主キー
- エ 主キー,外部キー,インデックス
解説
正解を導くための判定基準
一つの表(テーブル)に対して、それぞれいくつ設定できるかを基準に分類します。
・主キー:1つの表に必ず1つだけ設定できます。 ・外部キー:他の表とのリレーションシップの数だけ、複数設定できます。 ・インデックス:検索速度を上げるために、列ごとに任意で複数設定できます。
したがって、複数設定できるのは「外部キー」と「インデックス」の組み合わせであると判断します。
主キー、外部キー、インデックスの役割と制約
関係データベースにおいて、データの整合性と検索効率を維持するために重要な仕組みです。それぞれの役割と制約を整理します。
主キー(Primary Key)は、表の中のレコードを一意に識別するための項目です。同じ主キーを持つレコードが2つ存在してはならないという一意性制約があるため、1つの表に設定できるのは1つに限られます。
外部キー(Foreign Key)は、他の表の主キーを参照する項目です。例えば「注文表」において「顧客ID」という外部キーを持たせれば、どの顧客が注文したかを管理できます。1つの表の中に「顧客ID」や「商品ID」など、複数の外部キーを設けることが可能です。
インデックス(索引)は、辞書の索引のように、データの検索を高速化するための仕組みです。頻繁に検索される列や、並べ替えが必要な列に対して設定します。性能向上のために、必要であれば複数の列に対してインデックスを付与できます。
なぜこの知識が重要なのか
データベースを設計する際、どの列に何を設定するかを考えることは、システムの性能とデータの正確性を決める最も重要な作業です。
主キーを正しく設定しないと、データの重複や不整合が発生しやすくなります。逆にインデックスを増やしすぎると、データの読み込み速度は上がりますが、データを更新(追加・削除・変更)するたびにインデックスも更新しなければならないため、書き込み性能が低下するというトレードオフが発生します。
この問題は、単に定義を問うだけでなく、データベース設計において「制約を正しく理解し、過不足のない設計ができるか」という実務的な視点を試す内容になっています。