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

SQL-database med variabelt antal kolonner

Databasemodel

Du har grundlæggende brug for en many-to-many forholdet mellem forfattere og publikationer, da én forfatter kan skrive mange publikationer, og én publikation kan være skrevet af mere end én forfatter.

Dette kræver, at du har 3 borde.

  • Forfatter – generel information om hver forfatter (uden publications_id)
  • Publikation – generel information om hver udgivelse (uden forfatter_id)
  • AuthorPulication - kolonner author_id og publication_id der er referencer til tabeller Author og Publication .

På denne måde binder du ikke en bestemt forfatter til en publikation, men du kan have flere af dem, og det samme omvendt.

Yderligere bemærkninger

Hvis du gerne vil skelne forfatternes rolle i en bestemt publikation, kan du også tilføje en kolonne som id_role det ville være en henvisning til en ordbogstabel, der angiver alle mulige roller for en forfatter. På denne måde kan du være forskellig mellem førende forfattere, medforfattere osv. På denne måde kan du også gemme oplysninger om personer, der håndterer oversættelse af bogen, men måske skulle du så ændre navnet på Author til noget mindre specifikt.

Udseenderækkefølge

Du kan sikre en korrekt rækkefølge af dine forfattere ved at tilføje en kolonne i AuthorPublication som du vil øge separat for hver Publication . På denne måde ville du være i stand til at bevare bestillingen efter behov.



  1. MySQL-søgning i kommaliste

  2. Hvordan omdøber man den uploadede fil, før man gemmer den i en mappe?

  3. Sådan opdeles kommasepareret tekst i MySQL-lagret procedure

  4. MySQL JOIN Misbrug? Hvor slemt kan det blive?