ナチュラルキー
組である場合もある
その値が本当にキーとして使えるかはちゃんと検討する必要がある
ビジネスが扱う範囲によって変わってくるはず
例えば、一般に人名は重複するのでキーとして使えないが、過去のグループとかなら使えるかもしれない
IDのライフサイクルも吟味する必要がある
ISBNとかは、新板と旧版に同じものが振られて、重複することがある そのIDが何を特定するものかに着目する
emailは世界でユニークだが、人を特定するものではない
emailと人は1:1にはなっていない
「ただユニーク」なだけでそれをナチュラルキーにしてはいけない
1つの値をナチュラルキーにする例
Twitterを作っていて、user tableを設計する事を考える
user名(e.g. mrsekut)は、Twitter上でユニークなので、これを主キーにする
とした場合、これはナチュラルキーである
社員を特定するために使っている社員コード(e.g. 0012)はユニークなので、これを主キーにする
複数の値をナチュラルキーにする例
注文tableを設計していて、
業務的に意味のある3つのデータの組(userId, productId, date)で、1つの注文を特定できるので、この組を複合キーにする
具体例
ISBN
参考