私は Ruby on Rails を扱っていますが、この質問はそれよりも広く、データベース設計全般に当てはまると思います。
1 つのモデルを複数のテーブルに分割するのは、どのような場合に適していますか? たとえば、User モデルがあり、モデル内のフィールドの数が実際に増え始めているとします。たとえば、ユーザーは自分のウェブサイト、誕生日、タイムゾーンなどを入力できます。
モデルを分割することの利点または欠点はありますか。たとえば、User テーブルにはログインや電子メールなどの基本情報しかなく、すべての User には UserInfo のような別のテーブルがあり、別のテーブルは UserPermissions です。 UserPrivacySettings などの別のものはありますか?
編集:これにさらに光沢を加えるために、それらに固有のページを除いて、ほとんどのフィールドはめったにアクセスされません。たとえば、誕生日などは、誰かがユーザーのプロフィールをクリックした場合にのみアクセスされます。さらに、一部のフィールド (めったにアクセスされない) は、非常に大きくなる可能性があります。ほとんどのフィールドは、空白または nil に設定される可能性があります。