Jeg gør noget som din anden tilgang:har tabellen med det faktiske arbejdssæt og en historik med ændringer (tidsstempel, record_id, property_id, property_value). Dette inkluderer oprettelse af poster. En tredje tabel beskriver egenskaberne (id, ejendomsnavn, ejendomstype), som hjælper med datakonvertering højere oppe i applikationen. Så du kan også meget nemt spore ændringer af enkelte egenskaber.
I stedet for et tidsstempel kunne du også have en int-lignende, som du øger for hver ændring pr. record_id, så du har en faktisk version .