sql >> Database teknologi >  >> RDS >> Mysql

Udvidelse af klasser i databasen

Jeg vil på det kraftigste anbefale, at du ser på Klassebordsarv mønster som defineret af Martin Fowler.

Dette designmønster opretter en enkelt tabel, der indeholder de data, der f.eks. er fælles for alle bygninger, og kræver derefter en separat tabel for alle data, der er relateret til en bestemt type bygning. En ting, som jeg finder nyttig, er at gemme et 'type'-felt i den overordnede tabel, så du ved, hvilken type enhed du har uden at skulle søge i de underordnede tabeller for tilsvarende poster.

Jeg vil anbefale, at medmindre du har en meget specifik, veldefineret grund til at bruge et Entity-Attribute-design, at du undgår det. For det første bliver det umuligt, når du bruger denne type design, at drage fordel af begrænsninger på databasen til at kontrollere, hvilke input der kræves, og hvilke typer værdier der er tilladt. For det andet vil det drastisk bremse alle forespørgsler, der skal trække data ud af disse typer felter, fordi data gemt i disse felter ikke kan indekseres, som du normalt ville.



  1. MYSQL fjernforbindelse kræver SSL

  2. Sådan ændres MySQL 8.0-datamappe. Kan jeg bruge OneDrive-mapper?

  3. vælg * fra tabel vs vælg colA, colB osv. fra tabel interessant adfærd i SQL Server 2005

  4. Mysqldump lanceret af cron og adgangskodesikkerhed