這是一種歷史日誌模式。
[的peopleid(PK):名字,姓,DayOfBirth,ADRESS,CarCount,MoneyCount,CowCount ...] [ChangesID(PK):的peopleid(FK),ColumnID的,的OldValue,ChangesDate]
ColumnID的將是你自己的定義,例如對於CarCount ColumnId = 1,對於MoneyCount ColumnId = 2,對於CowCount Column Id = 3
我的想法是爲人們,你不應該只與人創建一個表首先&姓氏, DayOfBirth和其他人也應該包含在這張表(People)中。對於參數,CarCount,MoneyCount或CowCount將始終存儲當前值。任何時候CarCount從a更改爲b,然後更新People表中的相應行,將CarCount設置爲b,並在ColumnId = 1和OldValue = a的更改表中創建新記錄。其他參數類似。
這樣,您可以通過表格People中的信息快速獲取每個人的最新參數。如果用戶想要知道每個參數的先前值,則可以通過ChangesDate遞減查詢Changes表順序來完成。
希望這會有所幫助。
什麼類型的OldValue?(字符串,數字...) – GLeBaTi
cowCount =數字(整數),地址=字符串 – GLeBaTi
@GLeBati您可以將其視爲字符串並稍後進行轉換。 – longbkit