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

databaseskema for produktattributter

Det, du forsøger at opnå, er en Entity-Attribute-Value (EAV) eller muligvis en rækkemodellering opløsning. Bemærk, at denne type struktur stort set er ildeset af en lang række ret gode grunde.

Jeg har dog argumenteret (f.eks. her , her , her , og her ), at EAV er OND, undtagen når den ikke er det. En af de sjældne undtagelser er i tilfælde af et produktkatalog, hvor du sporer produkternes egenskaber, og hvor disse egenskaber ikke er så interessante (for dit system! ) undtagen i det omfang du skal hente disse og printe dem ud på en produktwebside eller et sammenligningsgitter osv.

Overvej et design som dette:

Det, du gør i en model som denne, er at beskrive, hvilke egenskaber produkter i en given kategori burde have, hvilke værdier disse egenskaber kan have, og så hvilke værdier hvert specifikt produkt har for hver egenskab.

Dette design har alle de sædvanlige begrænsninger, som EAV pålægger. Men hvis du vil stille spørgsmål som:"Hvilke perler har en diameter på 8 mm?" det er ret ligetil.




  1. Undgå MySQL-deadlock ved opgradering af delt til eksklusiv lås

  2. Aktiver Python for at oprette forbindelse til MySQL via SSH Tunneling

  3. Fang automatisk undtagelser for PDO i PHP

  4. Migrer fra traditionel replikering til GTID