SQLアンチパターンを読み始めたので、1つ1つ書いてのメモです
目的
- 主キーの規約を確立する
- このパターンは経験がないかも
- Articles ArticleTags Tags という関係のテーブルは作ったことがあるけれど、ArticleTags にユニーク制約いれたかな...
アンチパターン
- 全てのテーブルにid列を用いる
- 重複行を許可してしまう
- USING を使用する
- この関数知らなかった...
- 複合キーは使いにくい
用いてもいいパターン
- 一部のオブジェクトリレーショナルマッピング(ORM)フレームワークは、開発をシンプルにするため に、設定より規約(convention over configuration)の原則
- Railsとか
解決策
- わかりやすい列名にしよう
- 「SQL Programming Style」という本があるらしい
- 規約に縛られない
まとめ
- 規約は、役立つと思える場合のみ従いましょう。
感想
- Rails を使って開発していると id カラムありきで考えてしまうけれど、役立っているのか?について考えておかないとダメ