問題
問95
関係データベースにおける主キーに関する記述のうち、適切なものはどれか。
- 主キーに設定したフィールドの値に1行だけなら NULL を設定することができる。
- 主キーに設定したフィールドの値を更新することはできない。
- 主キーに設定したフィールドは他の表の外部キーとして参照することができない。
- 主キーは複数フィールドを組み合わせて設定することができる。
[出典:ITパスポート試験 平成28年度秋期 問95]
正解
正解は「エ」です。
解説
正解は「エ:主キーは複数フィールドを組み合わせて設定することができる」です。 関係データベースにおいて、主キーはテーブル内のレコード(行)を一意に識別するための項目(フィールド)または項目群です。通常は単一のフィールドを主キーとすることが多いですが、場合によっては複数のフィールドの組み合わせで一意性を保証する必要があります。
例えば、ある「注文」テーブルで、「注文番号」だけでは重複する可能性があるが、「顧客ID」と「注文日」と「注文時間」の3つのフィールドを組み合わせれば、必ず一つだけの注文を特定できる、といったケースがこれに当たります。このように、複数のフィールドを組み合わせて主キーとすることを「複合主キー」と呼びます。
これにより、複雑なデータ構造でもデータの整合性を保ちながら、各レコードを正確に識別することが可能になります。
ア(主キーに設定したフィールドの値に1行だけなら NULL を設定することができる。):
主キーにはNULL(値がないこと)を設定することはできません。主キーはレコードを一意に識別する必要があるため、必ず値を持つ必要があります。
イ(主キーに設定したフィールドの値を更新することはできない。):
主キーの値を更新することは可能ですが、関連する外部キーを持つ他のテーブルのデータも同時に更新するなど、データの整合性を保つための制約があります。
ウ(主キーに設定したフィールドは他の表の外部キーとして参照することができない。):
主キーは、他のテーブルのデータを参照するための「外部キー」として利用されることが一般的です。これにより、テーブル間の関連付けやデータの整合性を保つことができます。
難易度
この問題は、関係データベースの基本的な概念である「主キー」の理解度を問うものです。データベースを学習し始めたばかりの初心者にとっては、主キーの役割や特性について正確に理解しているかどうかが問われるため、やや難しいと感じるかもしれません。特に、NULLの制約や外部キーとの関連性など、複数の知識が求められますが、基本的な用語を押さえていれば解答できるレベルです。
用語補足
主キー:
データベースのテーブル(表)の中で、それぞれのレコード(行)を一意に識別するための項目(フィールド)のことです。例えば、学生名簿の「学生番号」のように、重複しない固有の値を持つことで、特定の学生を正確に特定できます。
NULL:
データベースのフィールドに「値が存在しない」状態を表す特別な値です。例えば、アンケートの未回答の項目がNULLに当たります。数字の0や空の文字列とは異なります。
外部キー:
あるテーブルのフィールドが、別のテーブルの主キーを参照している場合、そのフィールドを外部キーと呼びます。例えば、「注文」テーブルの「顧客ID」が「顧客」テーブルの主キー「顧客ID」を参照していると、注文と顧客の情報を結びつけることができます。
フィールド:
データベースのテーブル(表)を構成する項目や列のことです。例えば、顧客リストの「名前」「住所」「電話番号」といった一つ一つの項目がフィールドに当たります。
対策
この問題を解くためには、関係データベースにおける「主キー」の定義と特性をしっかりと理解することが重要です。特に、「一意性(重複しない)」「非NULL性(空でない)」「最小性(必要最小限の項目)」という三つの制約は必ず押さえておきましょう。また、主キーが他のテーブルの「外部キー」として参照されることで、テーブル間のリレーションシップが構築されるという点も理解しておくと、より深い知識につながります。

