データベースの作業を開始して以来、最初の決定と戦ってきました。電子メール アドレス用に別のテーブルが必要かどうかを検討しています。私のデータベースは次のようになります。
people(id, first_name, last_name, email)
addresses(id, address, street, city, state, zip, latitude, longitude)
addresses_people(id, person_id, address_id)
phone_numbers(id, person_id, phone_number, type)
メールアドレス用に別のテーブルを用意する必要はないと考えました。私が抱えていると思われる問題は、電子メール アドレスを持っていない人がいるということです。多くの場合、子供を people テーブルに格納します。何千もの空の電子メール フィールドを避けるために、別のテーブルに電子メール アドレスを配置する方が良い設計のように思えます。
アプリはすでにある程度生産されているため、これを変更するのは非常に面倒ですが、1、2 年後ではなく、今変更する方が指数関数的に簡単です。電子メールを別のテーブルに変更するのに 1 日か 2 日かかる価値はありますか?