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

schéma databáze pro atributy produktů

To, čeho se snažíte dosáhnout, je Entity-Attribute-Value (EAV) nebo případně řádkové modelování řešení. Všimněte si, že tento typ struktury je většinou odsuzován z celé řady docela dobrých důvodů.

Nicméně jsem argumentoval (např. zde , zde , zde a zde ), že EAV je ZLO, kromě případů, kdy tomu tak není. Jedna z těchto vzácných výjimek je v případě katalogu produktů, kde sledujete vlastnosti produktů a kde tyto vlastnosti nejsou tak zajímavé (do vašeho systému! ) kromě případů, kdy je potřebujete získat a vytisknout na webové stránce produktu nebo srovnávací mřížce atd.

Zvažte design jako je tento:

V modelu, jako je tento, popisujete, jaké atributy by produkty v dané kategorii měly mít, jaké hodnoty by tyto atributy mohly mít a pak jaké hodnoty má každý konkrétní produkt pro každý atribut.

Tento design má všechna obvyklá omezení, která EAV ukládá. Pokud se však chcete zeptat na otázky typu:"Které korálky mají průměr 8mm?" to je docela přímočaré.




  1. Jak seřadit pořadí výsledků podle časového razítka kromě jednoho z nich?

  2. Útok SQL Injection - Co to dělá?

  3. Zjistěte, který konfigurační soubor MySQL se používá

  4. Co je IN Logický operátor v SQL Server - SQL Server / TSQL výukový program, část 122