主キーと関数従属

f:id:utouto97:20210725220811j:plain

主キー

主キーは、レコードを一意に識別するためのカラムの組み合わせのことです。
レコードを検索する際、一意に識別できるようにする必要があります。
そこで、主キーを設定しておきます。

主キーが決まれば、レコードが決まる、ということになります。
例えば、名簿を考えてみます。
各人のレコードが大量に格納されているデータベースがあるとします。
例えば、ある人のレコードを検索する場合、その人の氏名で検索すればいいですね。
同姓同名の人が存在しないのであれば、「氏名」を主キーにすればいいです。

しかし、同姓同名の人がいると、一意にレコードが識別できません。
そこで、生年月日と氏名で検索すれば、レコードを一意に決定できる場合、 「生年月日」と「氏名」を主キーとすればよいです。

ただし、生年月日も同じで同姓同名の人が存在する可能性もあるため、一般的には、通番(id)を振って、そのidを主キーとすることが多いです。

関数従属

関数従属とは、Aが決まればBが決まる、ということです。
Aが決まればBが決まることを「BがAに関数従属している」と表現します。

例えば、お店で売っている商品を考えます。
書く商品にはJANコードがついています。(バーコードで表現されてるやつ)
だから、JANコードが決まれば、その商品が何であるか(商品名など)がわかります。
この場合、商品名はJANコードに関数従属している、ということになります。

終わり