Record di database sintetici

4

Supponiamo di ricevere statistiche da un cliente che analizziamo e inviamo i nostri commenti al cliente. Ora, il cliente ci dice che la statistica che hanno calcolato tra gennaio e marzo si basa su una metodologia sbagliata e ci invia serie corrette. Vogliamo eseguire analisi errate e con il set di dati corretto, che sono enormi e differiscono solo da gennaio a marzo, quindi vogliamo evitare la duplicazione dei dati.

Pertanto, abbiamo bisogno di qualcosa come record di database sintetici che implementino la seguente logica:

synthetic[1] = wrong_data
synthetic[2] = correct_data between Januar and March, wrong_data otherwise

Con questo, possiamo facilmente eseguire le nostre analisi su record sintetici.

Questi record sintetici dovrebbero essere implementati nella logica dell'applicazione o sul lato del database? Quali sono le insidie più comuni di tale implementazione?

    
posta Michael Le Barbier Grünewald 02.06.2014 - 15:40
fonte

1 risposta

3

Poiché i record sintetici sono in realtà dati, vorrei ... um, inserirli nel database.

La logica per recuperarli è relativamente semplice. Si esegue un join esterno sulla tabella sintetica e si sostituisce il valore sintetico se il join esterno restituisce qualcosa di diverso da un valore null. Il modo più semplice è solo per sostituire l'intero record.

Se si desidera "versione" dei dati, è possibile fornire un campo numero di sequenza, al costo di un po 'più di complessità nell'SQL per recuperare la versione più aggiornata dei dati sintetici. Poiché probabilmente nella maggior parte dei casi si desidera solo la revisione più recente, l'approccio più sensato consiste nel mettere i dati del record corrente in una tabella "cronologia" e modificare il record originale in posizione.

Ulteriori letture
Come controllare un record in un database
Strategie SQL per dati con versione

    
risposta data 02.06.2014 - 17:45
fonte

Leggi altre domande sui tag