【发布时间】:2014-08-10 19:48:24
【问题描述】:
我有一个类似于以下的数据架构:
用户:
id
name
email
phone number
...
照片:
id
width
height
filepath
...
我有一个对系统进行任何更改的审核表
日志:
id
acting_user
date
record_type (enum: "users", "photos", "...")
record_id
record_field
new_value
此设置是否有一个名称,其中一个字段中的enum 指的是另一个表之一的名称?并且有效地,record_type 和record_id 一起是另一个表中记录的外键?这是反模式吗? (注意:new_value,我们要记录的所有内容都是相同的数据类型,字符串)。
【问题讨论】:
-
如果您查看像 Hibernate Envers 这样的审计产品,它使用每个表的历史记录表(contacts_history 用于联系人)并且不使用外键。
标签: database database-design foreign-keys relational-database foreign-key-relationship