Domanda

Ho questo problema attuale con i dati che devo rappresentare in un database MySQL:

Devo supportare diversi tipi di prodotti con dati diversi ciascuno, ad esempio auto, camere d'albergo, libri, ecc. Per la mia applicazione ci sono alcuni dati che sono comuni per ogni prodotto, come nome, descrizione, prezzo, ecc.

Quindi penso di avere una tabella di prodotti, con dati comuni, con automobili, camere d'albergo, libri e qualsiasi tabella che faccia riferimento a questa tabella di prodotti in una relazione 1: 1.

Il problema è avere la tabella dei prodotti come tabella principale, quindi posso interrogare la tabella dei prodotti e ottenere i dati extra "automagicamente" con queste domande, così posso rendere l'applicazione più "generica".

Qualche idea su come può essere realizzato? Ho alcune idee, ma non credo che siano il modo migliore per farlo e non voglio fare hack sporchi quando questo problema può essere più comune di quanto penso.

Utilizzo di: PHP + Zend Framework + MySQL.

È stato utile?

Altri suggerimenti

Avere un oggetto base, quindi utilizzare il polimorfismo per sottoclassare l'oggetto base. L'oggetto base memorizza tutti i dati condivisi (in 1 tabella). Quindi ogni sottoclasse ha le sue proprietà uniche e le estrae da una tabella separata inserita nella tabella base. Rendere le sottoclassi in grado di caricare entrambi i dati comuni dal loro oggetto genitore, nonché di caricare i loro dati univoci / distinti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top