sql >> Database >  >> RDS >> Mysql

Klassen uitbreiden in de database

Ik raad je ten zeerste aan om de Overerving van klassentabel te bekijken patroon zoals gedefinieerd door Martin Fowler.

Dit ontwerppatroon creëert een enkele tabel die de gegevens bevat die bijvoorbeeld voor alle gebouwen gelden en vereist vervolgens een aparte tabel voor alle gegevens die betrekking hebben op een specifiek type gebouw. Een ding dat ik handig vind, is om een ​​'type'-veld op te slaan in de bovenliggende tabel, zodat je weet welk type entiteit je hebt zonder dat je in de onderliggende tabellen hoeft te zoeken naar bijbehorende records.

Ik zou aanraden dat je dit vermijdt, tenzij je een heel specifieke, goed gedefinieerde reden hebt om een ​​Entity-Attribute-ontwerp te gebruiken. Om te beginnen wordt het bij gebruik van dit type ontwerp onmogelijk om te profiteren van beperkingen op de database om te bepalen welke invoer vereist is en welke soorten waarden zijn toegestaan. Aan de andere kant vertraagt ​​het drastisch alle zoekopdrachten die gegevens uit dat soort velden moeten halen, omdat gegevens die in die velden zijn opgeslagen niet kunnen worden geïndexeerd zoals u normaal zou doen.



  1. Hoe voeg ik een aangepaste CHECK-beperking toe aan een MySQL-tabel?

  2. Gebruikersaanmeldingssysteem met mySQL-database met Angular JS?

  3. MySQL CHECK beperking alternatief

  4. Een verwijderknop in PHP toevoegen aan elke rij van een MySQL-tabel