カーディナリティは、データベースのカラムに入っているデータの種類がどれぐらい存在しているかを表す。 もともとの英単語の訳としては濃度という訳が当てはまる。
例えば、genderカラムが存在していたとする。単純な話としたいので、このカラムに入ってくる値は男か女とする。
| id | gender |
|---|---|
| 1 | 男 |
| 2 | 女 |
10人分のデータがあったとしても入っている種類は男か女で種類が2つしかない。
| id | gender |
|---|---|
| 1 | 男 |
| 2 | 女 |
| 3 | 男 |
| 4 | 女 |
| 5 | 女 |
| 6 | 女 |
| 7 | 女 |
| 8 | 男 |
| 9 | 女 |
| 10 | 男 |
こういった場合はデータの種類が少ない、つまりカーディナリティが低いと言います。
もう一つ、カーディナリティが低い例として血液型がある。 bloodカラムがあったとして、ここに入ってくるデータは4種類。 つまり - A - B - O - AB
となる。
| id | blood |
|---|---|
| 1 | O |
| 2 | A |
| 3 | AB |
| 4 | AB |
| 5 | B |
| 6 | A |
| 7 | A |
| 8 | O |
| 9 | AB |
| 10 | B |
逆にカーディナリティが高い状態はgenderカラムとbloodカラムの説明でつけたidカラムを言う。 idカラムは1から10の数値を示している。 このように1から順番に上がっていくサロゲートキーのような数値は、1から10まで種類があるのでカーディナリティが高い状態と言える。