我有一個「服務」表來詳細說明我們提供的服務。在需要記錄的數據是幾個小一個一對多的關係(所有帶外鍵約束的service_id),如:如何使用一對多關係在表格上保留記錄歷史記錄?
service_owners -- user_ids responsible for delivery of service
service_tags -- e.g. IT, Records Management, Finance
customer_categories -- ENUM value
provider_categories -- ENUM value
software_used -- self-explanatory
我的問題是,我想保持更新的歷史到一個服務,爲此我在表上使用了一個更新觸發器,該服務執行一個插入到匹配原始列的歷史表中的插入。但是,如果使用上述數據的規範化方法,並且每個一對多關係具有單獨的表和外鍵,則這些表上的任何更新都不會在服務的歷史記錄中識別。
有沒有人有任何建議?看起來我需要在服務表中存儲子鍵以維護服務歷史的完整性。分隔的文本字段是一種有效的方法,或者,因爲我使用的是PostgreSQL,數組也可能是一個有效的選項?雖然這些感覺有些骯髒!
謝謝。
您的歷史記錄表不必被歸一化。爲了成爲真實的歷史,它必須包含歷史記錄行寫入時的類別值。 –