はじめに
本日の学習したDB設計について、簡単にまとめる。
必要なテーブル・カラムの洗い出し
・エンティティはデータが登録させるタイミングを考える。
・プルダウンはActiveHashを用いることができる。
・ActiveHashを用いたカラムはinteger型また、カラム名に_id
をつけるとわかりやすい。
・郵便番号や電話番号はstring型で扱うのがよい。
・日付はdata型を用いる。
・数値も文字も入る可能性があるカラムはstring型。
・テーブル名で判断できるカラム名はつけない。
ex)usersテーブルで、カラム名をuser_nameとしない。nameでよい。
ActiveHash
・ER図には繋がりを記載する。
・gem 'active_hash'を導入する。
アソシエーション
・1対1の関係にある場合、親にhas_one
を子にbelongs_to
の記述をする。
・親子の判断は、もう一方が存在しえないと、存在しない方が「子」。
・外部キーをどこに置くのか、よく考える。