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

プライマリキー制約

pointこの用語のポイント

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

pointその項目をプライマリキーにするよ

point中身が空なデータと一意ではないデータが入れられなくなるよ

スポンサーリンク

簡単に書くよ

プライマリキー制約(読:プライマリキーセイヤク 英:primary key constraint)とは

「この項目をプライマリキー(データの出席番号として使われる項目)にしますよ」制約のこと。
もう少し具体的に書くと

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

「この項目をプライマリキーとして使うから、プライマリキーの条件を満たさないデータは入れられないようにするよ」な制約のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

データベース
テーブル
キー
レコード
一意
プライマリキー


について結構ガッツリ説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

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

プライマリキー制約

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

プライマリキー制約2

とりあえず

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

と覚えてください。

キーは「データベース(のテーブル)において何かのカギになりそうな項目」です。

プライマリキー制約3

データベース(のテーブル)は表形式のイメージで表現されるのが一般的です。

プライマリキー制約4

この表において、何か特別な意味を持たされた項目を「キー」や「キー項目」と呼びます。

プライマリキー制約5

レコードは行列で表現される表の「行」です。

プライマリキー制約6

ただし、今回は「データベースに入っているデータ(行)」と解釈してください。

繰り返しになりますが、データベース(のテーブル)は表形式のイメージで表現されるのが一般的です。
例えば以下のような形です。

名前性別年齢
ピヨ太成人済み
ピヨ子永遠の17歳
ピヨ太ママ心は乙女


この表には、ピヨ太君、ピヨ子さん、ピヨ太ママの3人分のデータが入っています。
名前と性別と年齢のセットで1行です。

この表におけるそれぞれの行、名前と性別と年齢のセットがレコードです。

さて、ここで考えてみてください。

1行には1人分のデータが入っています。
1行で1件のデータです。

そのため、データベース(のテーブル)にしまったデータそのものを指して「レコード」と表現する場合も あります。

例えば、データベース(のテーブル)にデータを入れることを指して「レコードを作る」と言ったりします。
あるいは「2件以上のデータ」を意図して「複数レコード」と表現する場合も あります。

基本的には「行」の意味ですけどね。
「データ1件」を意図する場合もあるのです。
一応、頭の片隅にでも置いておいてあげてください。

プライマリキー制約7

一意の意味は「重複しないよ~」です。
すべてのデータがオンリーワンだったら「一意である」と言えます。

プライマリキー制約8

プライマリキーは「データを一意に識別するために使われる項目」です。
主キー」とも呼ばれます。

「一意に識別」とか書いてあると難しそうに見えますが、恐れる必要は ありません。
データの出席番号みたいなイメージです。

プライマリキー制約9

出席番号は生徒を特定するために使う番号です。
例えば、ピヨ太君の出席番号が「男子1番」でした。
ピヨ子さんは「女子2番」です。

プライマリキー制約10

おっと、大変です。
ピヨ太ママ先生から「男子1番!今すぐ職員室に来なさい!」と呼び出しが ありました。

プライマリキー制約11

出席番号が「男子1番」の生徒はピヨ太君ですよね。
出席番号を見れば、どの生徒を指しているか分かります。

プライマリキー制約12

それと同じです。
「プライマリキーの値が○○なデータ!」と言えば「あっ、このデータ(行、レコード)だな」と判断できるのです。

プライマリキー制約13

項目をプライマリキーとして使うには

1.中身が空ではない
2.中身が一意である


の条件を満たしている必要があります。

これも出席番号をイメージすると分かりやすいと思います。

出席番号が空だったら困りますよね。
「出席番号:(空)」なのか「出席番号:(未割当)」なのか判断できません。
だから

1.中身が空ではない

という条件があります。

プライマリキー制約14

また、同じ出席番号の人が2人以上いたら困りますよね。
「出席番号○○番の人!」と呼ばれたときに、どっちが呼ばれたか判断できません。
だから

2.中身が一意である

という条件があります。

プライマリキー制約15

以上を踏まえて

「この項目をプライマリキーとして使うから、プライマリキーとしての条件を満たさないデータは入れられなくするよ」な制約

が「プライマリキー制約」です。
主キー制約」とも呼ばれます。

プライマリキー制約16

項目をプライマリキーとして使うには

1.中身が空ではない
2.中身が一意である


の条件を満たしている必要が ありました。

プライマリキー制約を付けると

1.中身が空ではない
2.中身が一意である


の条件を満たしているデータのみ入れられるようになります。

例えば、そうですね。
ピヨピヨカンパニーの社員名簿は以下の内容です。

社員番号名前趣味
1ピヨ太昼寝
2ピヨ子おやつ
3ピヨ太ママ内緒


社員名簿の項目は

1.社員番号
2.名前
3.趣味


の3つです。

この3つの項目のうち「社員番号」はプライマリキーとして使えます。

1.中身が空ではない
2.中身が一意である


の条件を満たしているからです。

「社員番号」は空になりません。
入社したときに必ず番号が割り当てられます。
また、割り当てられた番号は他の人とダブりません。
「社員番号『1』番の人」と言えばピヨ太君のことだと分かりますよね。
だから、プライマリキーとして使えます。

この「社員番号」項目にプライマリキー制約を付けました。
そうすると「社員番号」項目には

1.中身が空ではない
2.中身が一意である


の条件を満たすデータしか入れられなくなります。
例えば「社員番号」が「1」のデータを新しく作ろうとしても「もうあるよ!」と怒られてエラーになります。

ちなみに、プライマリキー制約を付けた項目には勝手にインデックスが貼られたりします。
そこら辺の あれやこれやは他のところで勉強してください。


image piyo2

一言でまとめるよ

まぁ「プライマリキー制約」って単語が出てきたら「『この項目をプライマリキー(データの出席番号として使われる項目)にするよ』制約なんだな~」と お考えください。

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

おまけ

■訳してみるよ

「primary(プライマリ)」の意味は「最初の」とか「一番目の」とか「主要な」とかです。
「key(キー)」の意味は「鍵」とか「重要な」とかです。
「制約」は日本語ですね。
何となく くっつけると

「主要な鍵」制約

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
サイバーセキュリティお嬢様と学ぶ 情報セキュリティの基本
クイズで学ぶUIデザイン ユーザビリティの基本が身につく50問