SQLアンチパターンの感想の続き。 すべてのテーブルの主キーをidという名前の属性(列)にし、ドメインを整数にしてしまうというもの。これを擬似キーともよび、本来のキーを自然なキーとよぶ。Railsなどのフレームワークなどが採用している設計指針に対する反論ともいうべきだろうか。本書では、そういうことを一律に強制することをアンチパターンとしている。 なぜアンチパターンなのか 冗長なキーが作成されてしまう 自然なキーとは別に主キーを作るのは冗長だという。 冗長なのはなぜダメなのだろうか?いくつか理由が考えられるが、 スペースが無駄 システムの複雑性が増える といったところだろうか。スペースが無駄というのはその通り。ただし、速度に影響が出るほどの大きさではない。システムの複雑性が増えるというのは、ID属性で全て統一するのならそうともいえない。Railsでは「設定よりも規約」といっているように、一定