我的数据库中有两个表:
目前我正在设计一个内部邮件系统,员工可以相互写信,但也可以直接写入公司帐户。
我的内部邮件表包含以下字段:
现在我的问题发生了,当我用ID's填充消息表时(从/到)我不知道消息是来自公司还是员工,因为两个表中都可能存在ID。
我的解决方案是什么?
更新
上面的例子是为了简化我的问题。
员工和公司表不包含用户名或密码,但是对ASP.NET成员资格uniqueidentifier
的引用用于管理登录。如下所述,使用UI来控制from和接收器,我使用ASP.NET Membership Controller中的UI。谢谢。 : - )
答案 0 :(得分:0)
您可以使用两个外键,一个是公司,另一个是员工,并确保只设置一个。
答案 1 :(得分:0)
在Company和Employee表中使用id的uniqueidentifier,并使用newid()作为默认值。
或者,合并表并添加一个字段以显示记录是公司还是员工。
答案 2 :(得分:0)
所以email.ToID可以引用employee.ID或company.ID,是吗?您不能以声明方式约束该email.ToID必须至少存在于(employee.ID或company.ID)中。几点解决方案: