てぃぐれのプログラマwiki

ワクワクに従う

【SQLアンチパターン3】 IDリクワイアド (とりあえず ID)

1, IDリクワイアド (とりあえず ID)

どのテーブルにもとりあえずIDを入れて主キーにしよう!

 →はい、アンチパターン

 

問題

・交差テーブルみたいなテーブルにIDは冗長になる

・考えなしにテーブル構成をするなということが言いたい(思考停止するな)

・IDという名前の場合、なんのIDか分かりにくくなる

・using句が使えなくなる

 

 

とりあえずIDを主キーにしたい派

・主キーをIDとりあえずIDにしとけば統一できる

フレームワークのルールに則ると結果IDにしたい

・テーブル名.IDとなるので、わかりにくい事はなくなる

 →サーバーサイドからするとテーブル名が表示されるわけではないから、起こりうる

 

感想

サロゲートキー派とナチュラルキー派が世の中にはいて、そこで意見が別れることもあるので、このアンチパターンは緊急度は低いかもしれない。

 

私の所属していた会社ではとりあえずIDでした。

そしてそれに合わせたシステムの設計が行われてました。