「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ユニーク制約(UNIQUE制約)

pointこの用語のポイント

pointデータベースの項目に付ける制約だよ

point同じ値は入れられなくなるよ

スポンサーリンク

簡単に書くよ

ユニーク制約(UNIQUE制約)(読:ユニークセイヤク 英:unique constraint)とは

「他の行の値と重複しちゃダメよ」制約のこと。
もう少し具体的に書くと

データベースの項目に付ける制限(制約)のひとつ
であり

「この項目に入れる値は他の行に入っている同じ項目の値と重複してはダメですよ。入れようとした値がすでに入っている値と同じだったらエラーにしますよ」な制約のこと
です。


image piyo

詳しく書くよ

最初に留意事項です。
専門外の方がイメージしやすいように「データベースの項目」と表現していますが、正確には「データベースのテーブルの項目」です。
こだわり派な人は適当に読み替えてください。

ユニーク制約

それでは本題です。
まずは予備知識として「ユニーク」と「データベース」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

ユニークの意味は「重複しないよ~」です。
日本語では「一意」などと表現されます。

ユニーク制約2

データベースは「データを入れておく箱」です。

ユニーク制約3

ただし「データベース」という用語は、実際には もう少し複雑な概念です。
データを入れておく箱そのものは「テーブル」と言います。

ユニーク制約4

とりあえず

データベースの話において、実際にデータを入れておく箱がテーブル

と覚えてください。

以上を踏まえて、データベース(のテーブル)の項目に付与する制限のひとつで

「重複しないよ~」な状態にしますよ制約

が「ユニーク制約」です。
この制限を付与された項目には、他の行に入っている値と同じ値を入れられなくなります。

ユニーク制約5

例えば、そうですね。

ピヨピヨ学校のピヨクラスで演劇をすることになりました。
生徒の情報と配役はデータベースで管理することにしました。

ユニーク制約6

データベースに入れる内容は

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」が割り当てられたとしたら、それは何かがおかしいです。
入力ミスか割当ミスかは分かりませんが、とにかく間違いです。

それなら最初から同じ値を入れられないようにしておいた方が楽ですよね。
「村人A」と入力したときに「おいおい、すでに『村人A』が割り当たっている人はいるぞ。なんか間違ってないか?」と注意してくれたら助かります。

そのために付ける

「他の行の値と重複してはダメですよ」制約

がユニーク制約です。

ユニーク制約7

ユニーク制約を付けた項目は値が重複しません。
すでに入っている値と同じ値を入れようとするとエラーになります。
結果として、すべての行の値がユニークになる理屈です。


image piyo2

一言でまとめるよ

まぁ「ユニーク制約」って単語が出てきたら「重複しちゃダメだよ制約なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像057
書籍画像079

おまけ

■訳してみるよ

「unique(ユニーク)」の意味は「唯一の」とか「一意的な」とかです。
「制約」は日本語ですね。
何となく くっつけると

一意にしてね制約

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
マンガでわかるITパスポート
タヌキとキツネ