5

Sto avendo qualche difficile progettazione di un database con molti attributi diversi per prodotto.Database MySQL con prodotti, categorie di prodotti e attributi diversi

Ecco la situazione: ogni prodotto dovrebbe appartenere a una categoria e ogni categoria ha un diverso insieme di attributi .

Es .:

  • prodottoIgal 7SCategoriaSmartphoneAttributiattr_phone
  • prodottoUberLaptopCategor yNotebook & LaptopAttributiattr_laptop

Da quello che I understood, sarebbe meglio evitare EAV e procedere con la tabella di ereditarietà di classe.

Su questa osservazione, avrei come punto di partenza:

Starting design


Se avessi impostato un singolo attributi, mi piacerebbe utilizzare una chiave esterna attribute_id nella tabella products e lo chiamano un giorno, ma potenzialmente avrò gli attributi 50+ impostati (e quindi le tabelle 50+).

  1. CTI è ancora valido come approccio?
  2. Come è possibile assegnare gli attributi corretti impostati a un prodotto?

Spiacente per la domanda stupida, ma in particolare non riesco a capire come posso assegnare un diverso attributi impostati quando viene selezionata una categoria diversa. Grazie per aver letto.

+0

È raro vedere domande così ben scritte e presentate. Spero che qualcuno ti aiuti. –

risposta

1

CTI è ancora valido come approccio?

Penso che se il numero delle categorie è nell'ordine del decimo, e non del centesimo, allora si.

Come è possibile assegnare gli attributi corretti impostati a un prodotto?

È possibile aggiungere a ogni riga di categoria il nome tabella della tabella di attributi corrispondente e, per ogni tabella di attributi, l'ID della riga sarà l'id del prodotto corrispondente (in modo che sia possibile definirlo come chiave esterna per la tabella prodotti).

0

In quasi tutte le situazioni è "sbagliato" avere 55 tabelle con schema identico. Rendendolo 1 tavolo è meglio. Ma poi ti porta nell'incubo chiamato "Entity-Attribute-Value".

Scegli alcuni "attributi" che di solito devi cercare. Metti il ​​resto in una stringa JSON in una singola colonna. More details

Problemi correlati