Mysql
 sql >> Base de données >  >> RDS >> Mysql

Conception de la base de données :1 table ou 2 ?

La différence entre les deux conceptions est principalement une question de flexibilité. Si le compte et les données utilisateur partagent une seule table, chaque utilisateur doit avoir un compte, et chaque compte ne peut avoir qu'un seul utilisateur (sauf si vous ajoutez une autre table pour permettre aux utilisateurs enfants d'être ajoutés en plus de l'utilisateur qui vit avec le compte données, ou à moins que vous n'ajoutiez de nouveaux enregistrements avec des détails de compte en double dans chacun, ce qui est très mauvais et contraire à ce que les bases de données sont censées faire).

Avec deux tables, vous pouvez facilement avoir plusieurs utilisateurs dans chaque compte, et pouvez également choisir d'autoriser les circonstances où un compte n'a pas d'utilisateurs, ou où un utilisateur n'a pas de compte, si cela profite à votre cas d'utilisation.

Le compromis est que si vous voulez faire quelque chose comme déterminer le compte d'un utilisateur (ou le ou les utilisateurs d'un compte), vous devez faire une jointure si vous utilisez deux tables. Si vous avez une table, tout ce que vous avez à faire est de récupérer la ligne pour obtenir cette information.