ITパスポート試験

問78

ITパスポート過去問 令和5年度(2023年)問78

関係データベースの主キーの設定に関する記述として,適切なものだけを全て挙げたものはどれか。

  • a 値が他のレコードと重複するものは主キーとして使用できない。
  • b インデックスとの重複設定はできない。
  • c 主キーの値は数値でなければならない。
  • d 複数のフィールドを使って主キーを構成できる。

選択肢

  • a,c
  • a,d
  • b,c
  • b,d

正解と解き方・学習ポイント(AI解説)

正解:
あなたの回答:未回答

主キーは、表の各行(レコード)を一意に識別するための列です。主キーの値は他の行と重複できず、複数列を組み合わせて主キー(複合主キー)にすることもできます。主キーの値は数値に限られず、文字列なども使用できます。

不正解

aは正しいですが、cは誤りです。主キーの値は数値に限られません。

正解

aとdはいずれも正しいです。主キーは重複できず、複数列の組合せで主キー(複合主キー)を構成できます。

不正解

bとcはいずれも誤りです。主キーとインデックスが両立しないとはいえず、主キーの値も数値に限定されません。

不正解

dは正しいですが、bは誤りです。主キー設定とインデックスは一般に両立します。

Point

主キーに求められる条件として、一意性(重複不可)と、複数列で構成できること(複合主キー)を理解しているかを確認する問題です。あわせて、主キーとインデックスの関係、主キーに使えるデータ型が数値に限定されないことを区別できるかが問われます。

解くために必要な知識

この問題を解くには、関係データベースにおける主キーの定義と制約の理解が必要です。

用語の整理

用語名 意味
主キー 表の中で各行(レコード)を一意に識別するための列(または列の組合せ)です。主キーの値は重複できません。
関係データベース データを表(リレーション)の形式で管理するデータベースモデルです。
レコード / 行 表の横1行分のデータです。
フィールド / 列 表の縦方向のデータ項目です。
複合主キー 2つ以上の列を組み合わせて設定する主キーです。各列の値が単独で重複していても、組合せとして一意であれば主キーにできます。

他の選択肢に出てくる用語

用語名 意味
インデックス 検索を速くするための索引です。一般に、主キーを設定すると主キー列に対するインデックスが作成される実装が多いです。

問題の解法手順

選択肢a〜dを個別に判定する

記述 判定 理由
a 値が他のレコードと重複するものは主キーとして使用できない。 正しい 主キーは各行を一意に識別する必要があるため、同一表内で重複する値は許されません。
b インデックスとの重複設定はできない。 誤り 主キーに対してインデックス(または同等の索引)が作成されるDBMSが多く、主キーとインデックスは両立します。
c 主キーの値は数値でなければならない。 誤り 文字列など、DBMSが提供するデータ型の範囲で主キーにできます。
d 複数のフィールドを使って主キーを構成できる。 正しい 複数列の組で一意にする複合主キーを設定できます。

選択肢(組合せ)を決める

正しいのはaとdなので、a,dの組合せである「イ」が正解です。

選択肢ごとの解説

不正解

aは正しいですが、cは誤りです。主キーの値は数値に限られません。

正解

aとdはいずれも正しいです。主キーは重複できず、複数列の組合せで主キー(複合主キー)を構成できます。

不正解

bとcはいずれも誤りです。主キーとインデックスが両立しないとはいえず、主キーの値も数値に限定されません。

不正解

dは正しいですが、bは誤りです。主キー設定とインデックスは一般に両立します。

まとめ

主キーは、表の各行(レコード)を一意に識別するための列です。主キーの値は他の行と重複できず、複数列を組み合わせて主キー(複合主キー)にすることもできます。主キーの値は数値に限られず、文字列なども使用できます。

テクノロジ系 > 技術要素 > データベース