主キー(プライマリキー)とは、関係データベース(RDB)のテーブルにおいて、登録されているたくさんの行(レコード)の中から、特定の「1行を絶対に特定(識別)できる」ための特別な列(項目)のことです。主キーには重要なルールがあり、『同じテーブル内に同じ値が重複して存在してはならない(一意性)』『データが空(NULL)であってはならない』という特徴を持ちます。主キーを決めることで、データが混ざり合うのを防ぎます。
学校の「学生テーブル」を考えてみましょう。生徒の『名前』は同姓同名がいるかもしれないので主キーにはできません。『電話番号』も家族で共有している場合があり重複する可能性があります。そこで、入学時に一人ひとりに割り当てる『学籍番号』という絶対に重複しない独自の番号を割り当てて主キーに設定します。これにより、学籍番号さえ指定すれば、日本全国の生徒から特定の1名を誤ることなく呼び出すことができます。
主キー(Primary Key)は、データベースにおけるデータの品質や整合性を保つための「整合性制約(実体整合性制約)」の根幹をなす仕組みです。主キーを設定するためには、以下の2つの技術的ルール(制約)を完全に満たす必要があります。