sql >> Database >  >> RDS >> Mysql

Een goede gewoonte om gegevens over meerdere databases te verdelen?

"Goede praktijk" is een van die zinnen waarmee we onze vooroordelen belangrijker kunnen laten klinken dan ze in werkelijkheid zijn...

Over het algemeen wil je dingen die bij elkaar horen bij elkaar opbergen. Als je één enkel informatiesysteem hebt dat alles voor een bedrijf regelt, en de entiteiten die je beheert, zijn aan elkaar gerelateerd - klanten hebben bestellingen, bestellingen hebben verkopers en producten - zou je kunnen stellen dat ze bij elkaar horen. Als je daarentegen merkt dat je "eilanden" van tabellen hebt die niet echt naar andere tabellen verwijzen, horen ze misschien niet bij elkaar.

Vanuit het oogpunt van onderhoudbaarheid betekent het beheren van meer databases meer back-ups, meer onderhoudsroutines en meer beveiligingsprofielen om te beheren.

Vanuit het oogpunt van leesbaarheid is het zoeken in verschillende databases om de tabel te vinden waarin u geïnteresseerd bent waarschijnlijk een slechte zaak - bijvoorbeeld wanneer er een veel-op-veel-aansluittabel is tussen "klanten" en "werknemers" - b.v. verkoopteam - waar staat die tafel? In de "klant" database, of "werknemer"?

Vanuit het oogpunt van betrouwbaarheid weet ik niet zeker of u beperkingen voor externe sleutels voor databases kunt afdwingen.

Ik kan niet echt enig voordeel bedenken om dit te doen - dus ik zou zeggen dat het een slecht idee is.



  1. QR-codes genereren uit MySQL-rijen

  2. Hoe kan ik de bestaande kolom als identiteit in PostgreSQL 11.1 wijzigen?

  3. Hoe kan ik een mySQL SELECT IF-instructierij gebruiken om JOIN te worden in een andere tabel?

  4. MySQL:voeg geen nieuwe rij in als gedefinieerde rijen hetzelfde zijn