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

MySQL automatisk stigning mellem tabeller

Det ser ud til, at du ønsker at skelne mellem kategorier og emner i to separate tabeller, men lad id'erne for dem henvise til i en anden tabel likes for at gøre det lettere for brugere at kunne lide enten en kategori eller et emne.

Det du kan gøre er at oprette en superentitetstabel med undertyperne categories og topics . Den auto-inkrementerede nøgle ville blive genereret i superentitetstabellen og kun indsat i én af de to undertypetabeller (baseret på, om det er en kategori eller et emne).

Undertypetabellerne refererer til denne superentitet via det automatisk inkrementerede felt i et 1:1 forhold.

På denne måde kan du simpelthen linke superentitetstabellen til likes tabel kun baseret på én kolonne (som kan repræsentere enten en kategori eller et emne), og ingen id i undertypen vil tabeller være til stede i begge.

Her er et forenklet eksempel på, hvordan du kan modellere dette:

Denne model vil give dig mulighed for at opretholde forholdet mellem kategorier og emner, men at have begge entiteter generaliseret i superentity tabel.

En anden fordel ved denne model er, at du kan abstrahere almindelige felter i undertypetabellerne til superentitetstabellen. Sig for eksempel at categories og topics begge indeholdt felterne title og url :du kan placere disse felter i superentity tabel, fordi de er almindelige attributter for dens undertyper. Indsæt kun felter, der er specifikke for undertypetabellerne, I undertypetabellerne.



  1. Oracle ydeevne og tuning Quiz

  2. MySQL tilføjer en IKKE NULL kolonne

  3. Installation af Oracle 32-bit klient på Windows Server Kører allerede 64-bit Oracle Database Server

  4. Korrekt brug af transaktioner i SQL Server