ユニークキー
データベースのキーだよ
同じ値は入れられないよ
簡単に書くよ
ユニークキー(英:unique key)とは
「他の行の値と重複しちゃダメよ」な制約が付いている項目
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・データベース
・テーブル
・キー
・ユニーク
について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
データベースは「データを入れておく箱」です。
ただし「データベース」という用語は、実際には もう少し複雑な概念です。
データを入れておく箱そのものは「テーブル」と言います。
とりあえず
データベースの話において、実際にデータを入れておく箱がテーブル
と覚えてください。
キーは「データベース(のテーブル)において何かのカギになりそうな項目」です。
データベース(のテーブル)は表形式のイメージで表現されるのが一般的です。
この表において、何か特別な意味を持たされた項目を「キー」や「キー項目」と呼びます。
ユニークの意味は「重複しないよ~」です。
日本語では「一意」などと表現されます。
以上を踏まえて
「値が重複しちゃダメだよ」な制約が付いている項目
が「ユニークキー」です。
ユニークキーになっている項目には他の行に入っている値と同じ値を入れられません。
例えば、そうですね。
ピヨピヨ学校のピヨクラスで演劇をすることになりました。
生徒の情報と配役はデータベースで管理することにしました。
データベースに入れる内容は
1.出席番号
2.名前
3.性別
4.配役
の4項目です。
えっちらおっちらと入力したところ、最終的には以下のような一覧表ができあがりました。
| 出席番号 | 名前 | 性別 | 配役 |
|---|---|---|---|
| 1番 | 相川 | 男 | 王子様 |
| 2番 | 合田 | 男 | 村人A |
| 3番 | 伊藤 | 男 | 村人B |
| 4番 | 宇野 | 男 | 村人C |
| 1番 | 伊藤 | 女 | お姫様 |
| 2番 | 井上 | 女 | 侍女 |
ここで少し考えてみてください。
複数の生徒が同じ配役になるということが、ありえるでしょうか。
今回の演劇では、同じ「村人」でも「村人A」「村人B」「村人C」のように区別して管理します。
一人一人に求められる演技が少しずつ違うからです。
ということは、複数の生徒が同じ配役になることは、ありえません。
例えば
| 出席番号 | 名前 | 性別 | 配役 |
|---|---|---|---|
| 1番 | 相川 | 男 | 王子様 |
| 2番 | 合田 | 男 | 村人A |
| 3番 | 伊藤 | 男 | 村人A |
| 4番 | 宇野 | 男 | 村人C |
| 1番 | 伊藤 | 女 | お姫様 |
| 2番 | 井上 | 女 | 侍女 |
のように合田君と伊藤君の2人に「村人A」が割り当てられたとしたら、それは何かがおかしいです。
入力ミスか割当ミスかは分かりませんが、とにかく間違いです。
そこで「配役」項目は「他の行の値と重複してはダメですよ」にしました。
「配役」項目は、すでに入っている値と同じ値を入れようとするとエラーになります。
この話における「配役」項目がユニークキー(になった項目)です。
「他の行の値と重複してはダメですよ」制約が付いている項目
です。
一言でまとめるよ
まぁ「ユニークキー」って単語が出てきたら「『重複しちゃダメだよ!』になっている項目なんだな~」と お考えください。
おまけ
■訳してみるよ
「unique(ユニーク)」の意味は「唯一の」とか「一意的な」とかです。
「key(キー)」の意味は「鍵」とか「重要な」とかです。
何となく くっつけると
一意の鍵
となります。
■検索してみる?






