【データベース】行を特定する鍵!「候補キー」|情報処理問題1000本ノック
リレーショナルデータベースでは、膨大なデータの中から特定の1行(タプル)を確実に見つけ出すための「キー」の概念が不可欠です。複数のキーの違いを正確に攻略しましょう。
1. 問題:行を一意に識別する属性
【 問題 】 リレーショナルデータベースの表(リレーション)において、各行を一意に識別することができる最小の属性、または属性の組を何と呼ぶでしょうか?
ア、候補キー イ、主キー ウ、外部キー エ、複合キー
2. 正解:データベースのキーに関する正解
正解: ア、候補キー
3. 解説:キーの階層構造を理解する
データベースにおける「キー」には役割に応じた階層があります。特に「候補キー」は全ての基本となります。
【図解:各種キーの定義】
■ 候補キー (Candidate Key)
・行を一意に識別できる「最小限」の組み合わせ。
・1つの表に複数存在することもあります(例:社員番号とメールアドレスなど)。
■ 主キー (Primary Key)
・候補キーの中から、設計者が運用上「これを使う」と決めた代表の1つ。
■ 外部キー (Foreign Key)
・他の表の主キーを参照し、表同士を関連付けるための属性。
■ 候補キー (Candidate Key)
・行を一意に識別できる「最小限」の組み合わせ。
・1つの表に複数存在することもあります(例:社員番号とメールアドレスなど)。
■ 主キー (Primary Key)
・候補キーの中から、設計者が運用上「これを使う」と決めた代表の1つ。
■ 外部キー (Foreign Key)
・他の表の主キーを参照し、表同士を関連付けるための属性。
[ 重要な性質 ]
★ 一意性制約:重複する値を持ってはいけない性質。
★ 非ナル制約:主キーに選ばれた属性は、空値(NULL)であってはいけないというルール。
★ 既約性:候補キーを構成する属性からどれか1つでも除くと、一意に識別できなくなる「最小構成」であること。
★ 一意性制約:重複する値を持ってはいけない性質。
★ 非ナル制約:主キーに選ばれた属性は、空値(NULL)であってはいけないというルール。
★ 既約性:候補キーを構成する属性からどれか1つでも除くと、一意に識別できなくなる「最小構成」であること。
1. 理解のコツ: 「主キー」は、複数の「候補キー」という立候補者の中から選ばれた「当選者」だとイメージしてください。問題文で「一意に識別する属性」と広義に問われた場合は、そのベースとなる候補キーを指します。
2. 試験対策の視点: 「主キー」と「候補キー」の言葉の定義の差を突く問題は非常に多いです。また、2つ以上の属性を組み合わせて1つのキーにする「複合キー」も、候補キーや主キーの一形態であることを覚えておきましょう。
4. まとめ
「行を一意に識別する最小の属性(の組)」。これが候補キーです。適切なキーの設定は、データの重複を防ぎ、データベースの整合性を守るための最も重要なステップであることを押さえておきましょう。
PR