平成 30 年度 秋期 システムアーキテクト試験 午前Ⅱ 問題 問21
関係モデルの候補キーの説明のうち,適切なものはどれか。
解答・解説
正解: イ. 候補キーの取る値はタプルごとに異なる。
関係モデルにおける候補キー(Candidate Key)とは、関係(テーブル)内のタプル(行・レコード)を一意に識別できる属性(列)または属性の組のうち、必要最小限の属性だけで構成されるもの(極小性を持つもの)を指します。
候補キーは次の2つの性質を満たす必要があります。
- 一意性:候補キーの値が決まれば、タプルがただ1つに特定される(同じ値を持つタプルが複数存在しない)。
- 極小性:候補キーを構成する属性からどれか1つでも取り除くと、一意性が失われる(余分な属性を含まない)。
一意性の性質より、候補キーの取る値はタプルごとに異なるため、正解はイです。
各選択肢の解説
- ア:候補キーは、その関係 が持つ属性(または属性の組)の中から選ばれます。したがって誤りです。
- イ:正解です。タプルを一意に識別するため、候補キーの値はタプルごとにすべて異なります。
- ウ:順序が逆です。関係の中に存在する1つ以上の候補キーの中から、データベース設計者が1つを選んで主キー(Primary Key)として定義します。
- エ:1つの関係に候補キーが複数存在しても構いません(例:「社員番号」と「メールアドレス」のどちらも社員を一意に識別できる場合、両方が候補キーとなります)。複数の候補キーの中から1つを主キーとして選びます。