sì... in linea di massima è così e va bene... d'altronde se vuoi registrare tutte le "variazioni" devi per forza tenere tutto nel db... per "snellire" la tabella puoi fare come ti suggerivo... anzichè registrare l'intero record potresti memorizzare il nome del campo variato ed il nome del valore: se si cambia solo un campo avrai comunque un record aggiuntivo, ma la tabella è più piccola... se però cambi molti campi avrai molti record aggiuntivi... in conclusione mi pare ti convenga fare come grosso modo dicevi (quanti campi hanno questi record?)