Avrò un database di prodotti in cui ad ogni record verrà associato un numero, diciamo, il numero di "vendite".
Aggiornerò periodicamente il database in modo che ogni campo "vendite" per ogni record verrà aggiornato.
Ho bisogno di ordinare questi record in base alle colonne "vendite", in ordine decrescente. Ho bisogno di tracciare la "classifica" di ciascuno di questi record ad ogni aggiornamento del database. Quindi se un record è il numero 1 quando il database è ordinato per "vendite" in ordine decrescente, ho bisogno di memorizzare queste informazioni. Quando aggiorno questo database e quel record ora è il quinto ancora quando il database è ordinato per vendite discendenti, ho bisogno di registrare queste informazioni. Quindi posso ricostruire l'evoluzione della classifica di ogni record.
È chiaro?
Vedo 2 modi per farlo: Per ogni record e su ciascun aggiornamento del database, creare un record di chiave esterna con posizione e data. Il database crescerà molto con ogni aggiornamento poiché ogni record sarà associato a una nuova chiave esterna.
Un altro modo per farlo: non creare un record straniero ma archiviare in qualche modo queste informazioni sul record stesso, non sapendo esattamente come.
Come faresti? Qual è il modo corretto di fare? Questo sistema intende utilizzare un DB postgres.