主キーを理解する

主キーは表の各行を一意に識別するための中心的な制約である。単一列だけでなく複数列の組合せも使え、候補キーやUNIQUE制約との違いを整理する。

この単元で学ぶこと

  • 主キーの意味と役割を説明できる
  • 複合主キーの意味と役割を説明できる
  • 候補キーの意味と役割を説明できる
  • 主キー・候補キー・複合主キー・UNIQUEの違いを説明できる

本文解説

主キーは一意性とNULL禁止を満たす属性または属性集合である。候補キーの一つを主キーとして選び、他の候補キーはUNIQUE制約などで一意性を保つことがある。

主キー 表の各行を一意に識別する属性または属性集合。 重複せずNULLを持たないことが基本。

複合主キー 複数属性を組み合わせて一意性を実現する主キー。 各列単独では重複しても組合せが一意なら使える。

候補キー 各行を一意に識別できる最小の属性集合。 複数存在し得る。

UNIQUE制約 指定列の値の重複を防ぐ制約。 主キー以外の一意性にも使う。

代理キー 業務的な意味より一意識別を目的として導入するID。 自然キーの変更影響を避けやすい。

一意識別できるか、最小か、主キーとして選ばれたかを順に確認する。

注文明細(注文ID,商品ID,数量)で同じ注文に複数商品があり、同じ商品が複数注文へ現れるなら、注文ID+商品IDを複合主キーにできる。

図解

主キーと候補キー
候補キーの中から主キーを選び、必要に応じ他候補へ一意性制約を設定する。

重要ポイント

  • 主キー: 表の各行を一意に識別する属性または属性集合。
  • 複合主キー: 複数属性を組み合わせて一意性を実現する主キー。
  • 候補キー: 各行を一意に識別できる最小の属性集合。
  • UNIQUE制約: 指定列の値の重複を防ぐ制約。
  • 主キーは候補キーのうち採用された一つで、複数列でもよい。

間違えやすい点

  • 主キーは必ず数値1列と決めつけない。
  • UNIQUEと主キーを完全に同一視しない。
  • 複合主キーの一部だけで一意と誤解しない。

用語解説

主キー
表の各行を一意に識別する属性または属性集合。
複合主キー
複数属性を組み合わせて一意性を実現する主キー。
候補キー
各行を一意に識別できる最小の属性集合。
UNIQUE制約
指定列の値の重複を防ぐ制約。
代理キー
業務的な意味より一意識別を目的として導入するID。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。