[Php-it] [mezzo-OT] Variazioni temporali tabella

Domenico L. domenico.lorusso at pleiade.it
Fri Sep 29 14:39:52 CEST 2006


Francesco F ha scritto:
>
>
> Visto che siamo a venerdì....
> Mi rimetto alla vostra esperienza per avere qualche dritta sulla 
> soluzione migliore al seguente problema. Ho una classica anagrafica 
> soggetta nel tempo a variazioni e devo tenere traccia di queste 
> variazioni. Fondamentalmente dovrei avere inline (ovvero nella tabella 
> anagrafica) l'ultima "versione" del nominativo ma facendo una ricerca 
> su un'azione svolta n mesi fa, dovrei avere la corretta "versione" nel 
> tale momento. Sinceramente vorrei evitare di duplicare n volte tale 
> record in tabella e di utilizzare un'altra tabella per tenere le 
> modifiche ma in questo modo penso di non riusce ad accedere ai dati 
> corretti direttamente via sql (cosa assolutamente necessaria per 
> generare n-mila report!)
>
>     Francesco
Tralascio l'esperienza e ti do la risposta di snodgrass e del tsql

La soluzione migliore che tu possa pensare è quella di menttere due 
campi dal-al che ti dicono il tempo di validità dei record.

Non avrai più update o delete ma solo insert (o meglio avrai degli 
update sui tempi di validità)


Questo se stai progettando la tua base dati è la cosa migliore.

Se sceglierai questa opzione vale la pena fare delle considerazione 
aggiuntive sul db e porsi delle serie domande su che dbms si intenda 
utilizzare.

Se al contrario vuoi una soluzione empirica comoda che permetta di 
estrapolare dei dati storici non modificabili, una sorta di log
la soluzione più semplice è quella di crearti una tabella di storico con 
i campi:

tabellaOrigine
dal
al
chiave/i (in testo o in numero devi vedere in base al db)
xml del record prima della modifica


Ciao

-- 
Domenico L.

per stupire mezz'ora basta un libro di storia,
io cercai di imparare la Treccani a memoria... [F.d.A.]



More information about the Php-it mailing list