我有三个表Teachers,Student,ViewType
table Teachers{
Id uniqueidentifier,
Name nvarchar
}
table Student{
Id uniqueidentifier,
Name nvarchar
}
table ViewType{
Id uniqueidentifier,
Type String
}
注意:假设ViewType不是常规查找表的示例 它包含如何在ui中呈现教师或学生的数据不应该在教师或学生表模型中。
是否有办法为两个强制执行密钥的表创建外键 而且只有两张桌子? 感谢。
答案 0 :(得分:1)
不使用声明性参照完整性约束。
您必须使用触发器实现此功能;并且你需要在所有三个表格上insert
+ update
ViewType
,delete
+ update
其他表格。
你可以用其他方式设置约束:
alter table Student add constraint FK foreign key (Id) references ViewType (Id)
alter table Teachers add constraint FK foreign key (Id) references ViewType (Id)
这并不完美(你最终可能会引用一个学生和老师,引用相同的Id,你必须要处理),但这可能是你能做的最好的。