我有一个“服务”表,用于详细说明我们提供的服务。需要记录的数据中有几个小的一对多关系(都具有对 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 时,也许数组也是一种有效的选择?虽然这些感觉有点脏!
谢谢。