DB設計・テーブル設計のルール
カラムの型
- 可能な限りUnique制約、Not null制約、外部キー制約を貼る
カラムの命名ルール
- ステータスは、statusではなく、state
- datetime型は、xxx_at とする (例:created_at, updated_at)
- (MySQLなどの)予約語は使用禁止。typeなど。
- 省略せずに完全なスペルを使うこと(user_nmのように省略せずに、 user_nameのように完全なスペルを使う)
テーブルの命名ルール
- 小文字、スネークキャメルで、複数形とする(例:users)
- 中間テーブル(=交差テーブル)の名前は、tableA_tableB とする。(例:userテーブルとgroupテーブルの交差テーブルなら、user_groups)
- (MySQLなどの)予約語は使用禁止
禁止事項
SQLアンチパターンを犯さないこと。
書籍「SQLアンチパターン」は超おすすめ!というか、エンジニア必読書。