Sto cercando un modo per organizzare le tabelle del database quando si tratta di gestire il recupero dei prezzi delle opzioni del prodotto e anche di memorizzare la cronologia dei prezzi per il mio caso d'uso.
Cosa ho
Ho un product
personalizzato con vari prodotti options
e appartiene a un prodotto category
. Voglio poter interrogare current price
per le opzioni di prodotto e mantenere price history
a scopo di riferimento / controllo. Category
è effettivamente un "gruppo di prodotti".
Ogni prodotto è su misura per ordine, assemblato da opzioni su richiesta del cliente. Non ci sono prodotti preconfigurati e il prezzo del prodotto è la somma dei prezzi selezionati option
. Non esiste un concetto di prezzo di un singolo prodotto.
Voglio rispondere a domande come
- Qual è il prezzo corrente dell'opzione X del prodotto Y? (recupero dei prezzi)
- Qual è stato il prezzo dell'opzione X del prodotto Y l'anno scorso? (controllo e cronologia)
Nota: ogni category
(alias "gruppo di prodotti") ha un set valido di options
e ogni singolo modello di prodotto ha il proprio prezzo per ogni option
. Ad esempio, diciamo che Categoria X ha l'opzione denominata Y. Modello di prodotto 10 in opzione prezzi X categoria Y a $ 10. Il modello di prodotto 20 nella stessa categoria ha lo stesso prezzo a $ 20.
Cosa ho
Pensochequantosoprarispondabeneallemieesigenze-Hoprodotticheappartengonoavariecategorie,incuiiprodottihannovarieopzionibasatesuvariecategoriedisponibiliacuiappartengono,ecategory_has_options
definiscelerelazionidisponibiliperleopzionidiprodottovalide.
DesignRicercaecronologiadeiprezzi
Quellochepensoèavereduetabelleinquestomodo:
price_lookup
tabella che mi consentirà di rispondere alla domanda n. 1.
price_history
tabella che mi consentirà di rispondere alla domanda n. 2
Ho difficoltà a capire come connettere queste tabelle al mio schema esistente. C'è un design che mi soddisfi bene per il mio scopo?