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

Bonne pratique pour répartir les données sur plusieurs bases de données ?

"Bonne pratique" fait partie de ces phrases qui nous permettent de donner l'impression que nos préjugés sont plus importants qu'ils ne le sont en réalité...

En général, vous voulez stocker ensemble des choses qui vont ensemble. Si vous avez un système d'information unique, qui gère tout pour une entreprise, et que les entités que vous gérez sont liées les unes aux autres - les clients ont des commandes, les commandes ont des vendeurs et des produits - vous pourriez dire qu'ils vont ensemble. Si, d'un autre côté, vous remarquez que vous avez des "îlots" de tables qui ne sont pas vraiment liés à d'autres tables, peut-être qu'elles ne vont pas ensemble.

Du point de vue de la maintenabilité, gérer plus de bases de données signifie plus de sauvegardes, plus de routines de maintenance et plus de profils de sécurité à gérer.

Du point de vue de la lisibilité, parcourir différentes bases de données pour trouver la table qui vous intéresse est probablement une mauvaise chose - par exemple, lorsqu'il existe une table de jointure plusieurs à plusieurs entre "clients" et "employés" - par ex. équipe de vente - où se trouve cette table ? Dans la base "client", ou "employé" ?

Du point de vue de la fiabilité, je ne sais pas si vous pouvez appliquer des contraintes de clé étrangère dans les bases de données.

Je ne vois pas vraiment d'avantages à faire cela - donc je dirais que c'est une mauvaise idée.