una soluzione TUTTA basata sul codice (e dipendente in particolare dalle prestazioni necessarie) è quella di taggare.
sostanzialmente usando un campo BLOB ci mettei dentro qualcosa del tipo
taglia=xxx;colore=yyy;forma=zzz
questo darà la massima libertà di definizione all'utente (è banale creare una tabella delle tag da cui attingere) MA...
... lato applicazione dovrai farti le funzioncine (o i metodini, se lavori ad oggetti)
codificatag:elenco_stringhe-> stringa
decodificatag:stringa -> lista tag, lista valori
cercatag
aggiungitag
cambiatag
eliminatag
il "vero" problema è la ricerca, che richiede dei LIKE %taglia=qualcosa;% il che è decisamente devastante se hai molte righe e/o molte interrogazioni.
In questo caso, normalmente, uso sphinx per "trasformare" le ricerche in full text, con performances di pochi millisecondi su tabelle di milioni di righe
----------
Questo è UN approccio, non L' approccio, spero comunque di averti dato qualche spunto di riflessione

Rispondi quotando