sql >> Databáze >  >> RDS >> Mysql

Jak byste modelovali rozptyl datových proměnných na společném schématu? SQL

Kolik typů produktů očekáváte? Mají každý svou vlastní aplikační logiku?

Můžete vytvořit zobecněný model nazvaný model „hodnoty atributu entity“, ale má HODNĚ úskalí, když se snažíte vypořádat se specifickými vlastnostmi produktu. Jednoduché vyhledávací dotazy se občas promění ve skutečné noční můry. Základní myšlenkou je, že máte tabulku, která obsahuje ID produktu, název vlastnosti (nebo ID do tabulky vlastností) a hodnotu. Můžete také přidat tabulky obsahující šablony pro každý typ produktu. Jedna sada tabulek vám tedy pro každý daný produkt řekne, jaké vlastnosti může mít (možná spolu s platnými rozsahy hodnot) a další sada tabulek vám pro každý jednotlivý produkt řekne, jaké jsou hodnoty.

Důrazně bych však varoval před používáním tohoto modelu, protože to vypadá jako opravdu mazaný nápad, dokud ho nebudete muset skutečně implementovat.

Pokud je počet typů produktů přiměřeně omezený, zvolil bych vaše druhé řešení – jednu hlavní tabulku produktů se základními atributy a poté další tabulky pro každý konkrétní typ produktu.



  1. PHP MySQL PDO:jak zachovat úvodní nuly zerofill int sloupců

  2. Je aktualizace MySQL, která mění více sloupců, neatomická?

  3. Jak importovat soubor CSV v PostgreSQL

  4. Jednoduché používání funkcí DATEADD, DATEDIFF a DATEPART T-SQL