Ale*_*x P 3 database-design sql-server-2005
我想就数据库设计提出一些建议.具体来说,请考虑以下(假设的)情景:
在这种情况下,如果员工离开公司,我还要确保从Users
表中删除它们,以便他们无法再访问该软件.我可以通过实现这个ON DELETE CASCADE
作为的FK关系的一部分EmployeeID
中Employees
和Users
.
但是,我不想删除他们的详细信息,UserLog
因为我有兴趣整理人们花在软件上的时间以及他们不再在公司工作这一事实并不意味着他们的用户行为不再相关.
我剩下的是一个UserLog
与我的数据库中的任何其他表没有关系的表.这是一个明智的想法吗?
浏览过书籍等等/ googled online我没有遇到过任何与其他人没有任何关系的数据库模式,所以我的直觉就是说我的方法不健全......
我很感激你的指导.
在这种情况下,我个人的偏好是通过向Employees表添加"DeletedDate"列来"软删除"员工.这将允许您使用UserLog表维护参照完整性,并且所有员工(过去和现在)的所有详细信息在数据库中仍然可用.
这种方法的缺点是您需要添加应用程序逻辑来检查活跃的员工.