Estoy trabajando con Ruby on Rails, pero esta pregunta creo que es más amplia y se aplica al diseño de bases de datos en general.¿Cuándo dividir los modelos en varias tablas de bases de datos?
¿Cuándo es una buena idea dividir un solo modelo en varias tablas? Por ejemplo, supongamos que tengo un modelo de usuario, y la cantidad de campos en el modelo realmente está empezando a sumarse. Por ejemplo, el usuario puede ingresar a su sitio web, su fecha de nacimiento, su zona horaria, etc. etc.
¿Hay alguna ventaja o desventaja al dividir el modelo, tal vez que la tabla de usuarios solo tenga información básica como inicio de sesión y correo electrónico, y luego hay otra tabla que cada usuario tiene que es algo así como UserInfo, y otra que es UserPermissions, y otra que es UserPrivacySettings o algo así?
Editar: Para agregar brillo adicional en esto, la mayoría de los campos son raramente accesibles, excepto en páginas específicas para ellos. Por ejemplo, cosas como el cumpleaños solo se acceden si alguien hace clic en el perfil de un usuario. Además, algunos de los campos (a los que rara vez se accede) tienen el potencial de ser extremadamente grandes. La mayoría de los campos tienen el potencial de ser configurados en blanco o nulos.
¿De cuántos campos estamos hablando en la tabla de usuario? – inkedmn