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

非キー属性

pointこの用語のポイント

pointデータベースの項目の属性だよ

pointデータ行を一意に識別できないやつだよ

pointこいつが付いている項目は主キーになれないよ

スポンサーリンク

簡単に書くよ

非キー属性(読:ヒキーゾクセイ 英:non-key attribute)とは

「この項目を見れば行を特定できるよ!」な属性を「キー属性」と言うのですけどね。キー属性の逆
であり

「この項目を見ても、どの行か特定できないよ!」な属性
です。

言い方を変えると

「おまえは主キー(データの出席番号として使われる項目)になれるよ!」な属性を「キー属性」と言うのですけどね。キー属性の逆
であり

「おまえは主キーになれないよ!」な属性
です。


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

主キーは、どの行か特定するために使う項目です。
候補キーは

その項目を見れば、どの行か特定できる項目

です。

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

国民番号社員番号名前趣味
P11ピヨ太昼寝
P22ピヨ子おやつ
P33ピヨ太ママ内緒


社員名簿の項目は

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


の4つです。
ちなみに国民番号はピヨピヨ国の国民全員に振られる番号です。
他の人と被らないようになっているので、国民番号を見れば、それが誰か特定できます。

この4つの項目のうち、主キーとして使えるのは

1.国民番号
2.社員番号


の2つです。

「国民番号『P1』番の人」と言えばピヨ太君のことだと分かります。
「社員番号『1』番の人」と言ってもピヨ太君のことだと分かります。
どちらも、それを見れば行を特定できる項目です。
どちらも主キーになれます。

実際には、どちらかを決めて主キーにします。
主キーは1つしか設定しないからです。

この話における「国民番号」項目と「社員番号」項目が候補キーです。
どちらも、それを見れば行を一意に特定できる項目であり、その気になれば主キーとして使える項目です。

キー属性は「『この項目を見れば行を特定できるよ!』な属性」です。
言い方を変えると「候補キーに付いている属性」です。

非キー属性17

真面目ぶって書いてみましたが、あまり気にする必要ありません。
身も蓋もない言い方をすると

「おまえは主キーになれるぜ!」な属性

がキー属性です。

以上を踏まえて

キー属性の逆

であり

「この項目を見ても行を特定できないよ!」な属性

が「非キー属性」です。

非キー属性18

真面目ぶって書いてみましたが、あまり気にする必要ありません。
身も蓋もない言い方をすると

「おまえは主キーになれないぜ!」な属性

が非キー属性です。


image piyo2

一言でまとめるよ

まぁ「非キー属性」って単語が出てきたら「『おまえは主キー(データの出席番号として使われる項目)になれないよ!』な属性なんだな~」と お考えください。

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

おまけ

■訳してみるよ

「非」は日本語ですね。
「key(キー)」の意味は「鍵」とか「重要な」とかです。
「属性」は日本語ですね。
何となく くっつけると

非「鍵」属性

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
つくって、壊して、直して学ぶ Kubernetes入門
「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニック