複合キー
データベースのキーだよ
2つ以上の項目で1つのキーになるよ
複合主キーを指している場合が多いと思うよ
簡単に書くよ
複合キー(読:フクゴウキー 英:composite key)とは
複数の項目がワンセットになることで1つのキー
(データベースにおいて何かのカギになる項目)としての役割を果たすキーのこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・データベース
・テーブル
・キー
について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
データベースは「データを入れておく箱」です。
ただし「データベース」という用語は、実際には もう少し複雑な概念です。
データを入れておく箱そのものは「テーブル」と言います。
とりあえず
データベースの話において、実際にデータを入れておく箱がテーブル
と覚えてください。
キーは「データベース(のテーブル)において何かのカギになりそうな項目」です。
データベース(のテーブル)は表形式のイメージで表現されるのが一般的です。
この表において、何か特別な意味を持たされた項目を「キー」や「キー項目」と呼びます。
以上を踏まえて
複数の項目がワンセットになることでキーとしての役割を果たすキー
が「複合キー」です。
例えば、そうですね。
データベースの世界には「主キー」と呼ばれるキーがあります。
主キーは「データを一意に識別するために使われる項目」です。
「一意に識別」とか書いてあると難しそうに見えますが、恐れる必要は ありません。
データの出席番号みたいなイメージです。
出席番号は生徒を特定するために使う番号です。
例えば、ピヨ太君の出席番号が「男子1番」でした。
ピヨ子さんは「女子2番」です。
おっと、大変です。
ピヨ太ママ先生から「男子1番!今すぐ職員室に来なさい!」と呼び出しが ありました。
出席番号が「男子1番」の生徒はピヨ太君ですよね。
出席番号を見れば、どの生徒を指しているか分かります。
それと同じです。
「主キーの値が○○なデータ!」と言えば「あっ、このデータ(行)だな」と判断できるのです。
主キーになっている項目は1つとは限りません。
複数の項目がワンセットになることで主キーとしての役割を果たすことがあります。
例えば、テーブルの中身が以下の内容だったとしましょう。
| 出席番号 | 名前 | 性別 |
|---|---|---|
| 1 | ピヨ太 | 男 |
| 1 | ピヨ子 | 女 |
| 2 | ピヨ太ママ | 女 |
「出席番号」は男女別に割り振られています。
だから「出席番号」だけではデータを特定できません。
「出席番号が『1』番の人!」と言っても、ピヨ太君のことかピヨ子さんのことか分からないからです。
「出席番号」は主キーにできません。
ただし「出席番号」と一緒に「性別」も見るとデータを特定できます。
「出席番号が『1』番で性別が『男』の人!」と言えば、ピヨ太君のことだと分かりますよね。
「出席番号+性別」なら主キーとしての役割を果たせます。
「出席番号」と「性別」の2つの項目をワンセットで見ることで主キーとして扱えます。
この話における「出席番号+性別」のような「複数の項目で1つの主キーとしての役割を果たす主キー」を「複合主キー」と言います。

複合主キーは複合キー(のひとつ)です。
複合キーは
複数項目でワンセットなキー
です。
複合主キー以外にも複数項目でワンセットなキーであれば「複合キー」と呼んでも、おかしくありません。
とはいえ、複合主キーを意図して「複合キー」と表現している場合も結構あります。

一応、頭の片隅にでも置いておいてあげてください。
一言でまとめるよ
まぁ「複合キー」って単語が出てきたら「複数項目でワンセットなキー
(データベースにおいて何かのカギになる項目)なんだな~」と お考えください。






