sql >> Database >  >> RDS >> Mysql

Een database ontwerpen:wat is de betere aanpak?

Dit is een typische discussie met een smalle tafel (gebaseerd op attributen) versus een brede tafel. Het probleem met benadering #2 is dat je de gegevens waarschijnlijk moet draaien om ze in een vorm te krijgen waarmee de gebruiker kan werken (terug naar een breedbeeldformaat). Dit kan erg arbeidsintensief zijn naarmate het aantal rijen groeit en het aantal attributen toeneemt. Het is ook moeilijk om naar de tafel te kijken, in onbewerkte tabelweergave, en te zien wat er aan de hand is.

Deze discussie hebben we al vaker gehad in ons bedrijf. We hebben enkele tabellen die zich zeer goed lenen voor een attribuuttypeschema. We hebben er altijd van afgezien vanwege de noodzaak om de gegevens te kantelen en het onvermogen om de gegevens te bekijken en zinvol te maken (maar dit is de verhuurder van de twee problemen voor ons - we willen gewoon niet miljoenen van rijen gegevens).

Trouwens, ik zou leeftijd niet als een getal opslaan. Ik zou de geboortedatum bewaren, als je die hebt. Ik weet ook niet waar 'Moedertaal' naar verwijst, maar als het de taal is die de moeder spreekt, zou ik dit als een FK opslaan in een hoofdtaaltabel. Het is efficiënter en vermindert het probleem van slechte gegevens vanwege een verkeerd gespelde taal.



  1. PHP While-lus die alleen de laatste rij toont

  2. PDO laat de laatste ID invoegen

  3. QueryException in slaapstand vanwege apostrof

  4. gebruik kolomwaarde als kolomnaam mysql