sql >> Database >  >> RDS >> Mysql

Hoe zou u de variantie van gegevensvariabelen op een gemeenschappelijk schema modelleren? SQL

Hoeveel producttypes verwacht u? Hebben ze elk hun eigen toepassingslogica?

U kunt een gegeneraliseerd model gebruiken, het "entity attribuut value"-model genaamd, maar het heeft VEEL valkuilen wanneer u probeert om te gaan met specifieke eigenschappen van een product. Eenvoudige zoekopdrachten veranderen soms in echte nachtmerries. Het basisidee is dat u een tabel hebt die de product-ID, eigenschapsnaam (of ID in een eigenschappentabel) en de waarde bevat. U kunt ook tabellen toevoegen voor sjablonen voor elk producttype. Dus een set tabellen zou je voor elk product vertellen welke eigenschappen het kan hebben (mogelijk samen met geldige waardebereiken) en een andere set tabellen zou je voor elk afzonderlijk product vertellen wat de waarden zijn.

Ik zou echter sterk willen waarschuwen om dit model niet te gebruiken, omdat het een heel slim idee lijkt totdat je het daadwerkelijk moet implementeren.

Als het aantal producttypes redelijk beperkt is, zou ik voor uw tweede oplossing gaan:één hoofdproducttabel met basiskenmerken en vervolgens extra tabellen voor elk specifiek type product.



  1. Wat is het standaard MySQL JOIN-gedrag, INNER of OUTER?

  2. Inner join met 3 tabellen in mysql

  3. Kan ColumnStore paginering-workloads helpen?

  4. Sorteer op Soundex (of vergelijkbaar) `Closeness`