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

Hvordan gemmer man tags i MySQL-tags, et felt i alt eller et indgivet for hvert tag?

Jeg tror, ​​at Many to Many forhold vil hjælpe dig

noget lignende

-------- ----------------- ------------ - tags - <-------> - products_tags - <-------> - products - -------- ----------------- ------------

rediger:

Mange til Mange-tilgangen er den mere normaliserede, men jeg tror, ​​at den er sværest at implementere, da den er baseret på joins for at få alle tags for et givet "produkt" i dette tilfælde. Fordele:

  1. totalt normaliseret
  2. TØRT :siden hvis du har brug for at ændre et tagnavn, kan du gøre det, og du vil se ændringen overalt
  3. osv.

den anden fremgangsmåde er at gemme alle tags i ét felt adskilt af noget (lad os sige komma). Her har du fart på i forhold til at få taggene. du skal bare opdele taggene med den separator og det er det. Det er også nemmere at gemme tags. men jeg kan ikke lide denne tilgang, for hvis du skal opdatere en skabelon, skal du gå artikel for artikel, opdele, opdatere og derefter gemme.



  1. SQL-forespørgsel for at få aggregeret resultat i kommaseparatorer sammen med gruppe for kolonne i SQL Server

  2. Er der en SQL Server Profiler til SQL Server Express?

  3. Doctrine 2 mysql FIELD funktion i rækkefølge efter

  4. php mysql få variable data fra databasen og beregne