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

Mailinglist - Francesco Reitano mailinglist at francescoreitano.it
Fri Sep 29 10:10:18 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!)
Nella prima tabella tieni solo i dati stabili (cioè che non cambiano - 
es nome cognome)
Nella seconda tabella metti tutto il resto con data e con una FK all'id 
della prima tabella in modo da
avere una relazione 1 a molti e tenere traccia dello storico.

tabella anagrafica
id --> chiave primaria (indice) auto increment
nome --> nome
cognome --> cognome

tabella storicoanagrafica
id --> chiave primaria (indice) auto increment
indirizzo --> indirizzo dell'utente
città --> ....
ecc...
data --> data di inserimento
anagrafica --> chiave esterna che punta a id di tabella anagrafica

così hai 1 solo record nella prima tabella e tutto lo storico delle sue 
modifiche e al momento opportuno puoi cancellare
tutti i record che non ti interessano semplicemnte selezionando l'id e 
tutte le date precedenti all'ultima.

ciauz
Francesco





More information about the Php-it mailing list