用SQL Server中的所有其他表映射用户account表是一个好习惯



我有 userAccount 表和其他表格,例如员工 Student> Student 等。我想拥有一个像谁创建学生记录或创建某些员工记录的人一样的审计。在所有其他表格,例如员工,学生等中,将用户accountid作为外键是一个好习惯吗?如果我这样映射,我正在使用Hibernate,我必须维持用户汇票与所有其他类之间的一到许多关系,因此代码增加,对我来说,这是一个负担。

它打破了所有归一化规则。改用链接/HREF表。UserAcCountID,员工ID(NULL),StudentId(null)。有一个像这样的巨大链接表。除了用户accountid(主键和外键)以外,外键还需要无效。

"好习惯/实践"是主观的。

如果业务领域包括创建实体的人是有意义的信息,并且这可能是最终用户的常规请求,然后将"创建"属性添加到表/类中确实是好实践。

知道这是否正确的最佳方法是询问产品所有者是否需要屏幕显示"用户X创建的所有员工"。如果他们说"不,只有出了问题",则您有审核要求;如果他们说"是,我们会定期使用",那是您业务领域不可或缺的一部分。

您可能会发现,您的用户不仅要知道谁创建了一行,还想知道谁修改了它。在这种情况下,关于SO。

也有类似的问题

最新更新