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

Come modellereste la varianza delle variabili dei dati su uno schema comune? SQL

Quanti tipi di prodotto ti aspetti? Ognuno di loro ha la propria logica applicativa?

Puoi creare un modello generalizzato chiamato modello "valore attributo entità", ma presenta MOLTE insidie ​​quando stai cercando di gestire proprietà specifiche di un prodotto. Semplici query di ricerca a volte si trasformano in veri e propri incubi. L'idea di base è di avere una tabella che contiene l'ID prodotto, il nome della proprietà (o l'ID in una tabella delle proprietà) e il valore. Puoi anche aggiungere tabelle per contenere modelli per ogni tipo di prodotto. Quindi una serie di tabelle ti direbbe per ogni dato prodotto quali proprietà può avere (possibilmente insieme a intervalli di valori validi) e un'altra serie di tabelle ti direbbe per ogni singolo prodotto quali sono i valori.

Tuttavia, ti sconsiglio vivamente di utilizzare questo modello, dal momento che sembra un'idea davvero intelligente fino a quando non devi implementarla effettivamente.

Se il tuo numero di tipi di prodotto è ragionevolmente limitato, sceglierei la tua seconda soluzione:una tabella prodotto principale con attributi di base e poi tabelle aggiuntive per ogni tipo specifico di prodotto.