スーパーキー【superkey】
概要
スーパーキーとは、リレーショナルデータベースにおいて、テーブル内の各行(レコード)を一意に識別できる列、またはその組み合わせ。一般に複数の列または列の組み合わせが当てはまり、この中から候補キーおよび主キーが選択される。

テーブルに格納されるデータは、同じ値が複数行に現れることがある。たとえば「氏名」の列には同姓同名の人物が存在しうるため、氏名だけでは特定の行を指し示せない場合がある。スーパーキーとは、このような重複がなく、どの行であるかを確実に特定できる列、または列の組み合わせのことである。
スーパーキーの条件は「一意性」のみである。テーブルのすべての列を組み合わせれば、理論上は必ずスーパーキーを構成できる。また、すでにスーパーキーである列の組み合わせに、さらに別の列を追加したものも依然としてスーパーキーである。つまり、一つのテーブルに対してスーパーキーは複数存在するのが一般的だ。
スーパーキーの中で、冗長な列を含まない最小構成のものを「候補キー」(candidate key)と呼ぶ。例えば、「社員ID」だけで行を一意に識別できるなら、「社員IDと氏名」の組み合わせはスーパーキーではあっても候補キーではない。氏名の列は識別に不要であり、取り除いてもなお一意性が保たれるからである。候補キーの中から、実際にテーブルの行の識別に用いる「主キー」(primary key)が一つ選択される。