Je travaille avec Ruby on Rails, mais cette question est plus large que cela et s'applique généralement à la conception de base de données.Quand diviser des modèles en plusieurs tables de base de données?
Quand est-ce une bonne idée de diviser un seul modèle en plusieurs tables? Par exemple, supposons que j'ai un modèle utilisateur et que le nombre de champs dans le modèle commence réellement à s'accumuler. Par exemple, l'utilisateur peut entrer son site Web, son anniversaire, son fuseau horaire, son etc
Y at-il un avantage ou un inconvénient à diviser le modèle, de sorte que peut-être la table utilisateur n'a que des informations de base comme la connexion et email, et puis il ya une autre table que chaque utilisateur a quelque chose comme UserInfo, et un autre qui est UserPermissions, et un autre qui est UserPrivacySettings ou quelque chose comme ça? Editer: Pour ajouter une note supplémentaire à ce sujet, la plupart des champs sont rarement accessibles, sauf sur les pages qui leur sont spécifiques. Par exemple, des éléments comme l'anniversaire ne sont accessibles que si un utilisateur clique sur le profil d'un utilisateur. De plus, certains champs (auxquels on accède rarement) peuvent être extrêmement volumineux. La plupart des champs ont le potentiel d'être soit blanc ou nul.
De combien de champs parle-t-on dans la table User? – inkedmn