在SaS项目(软件即服务)上,想象一下这种情况:
使用该应用程序的客户的主要表格是租户,主键是 id 列。
我有3个表来管理来自租户的数据,还有一个特定的表来管理空缺的功能:
时段, Unity 和转移所有 PK id 和 FK tenant_id
我的表空缺有3个外键
我需要保证所有这3个FK都引用属于Tenant表上同一Customer的Period,Unity和Shift表中的行。
我的解释清楚了吗?
也许我可以创建一个Trigger来处理这些验证。我真的不知道SGBD是否已经有资源处理它。
有关信息:我正在使用带有Eloquent ORM的SQL Server。但是,如果确实存在这样的解决方案,那么最好是在任何地方工作的人。
答案 0 :(得分:4)
1)确保tenant_id
NOT NULL
,Period
和Unity
上的Shift
被定义为tenant_id
。
2)在该表上创建以下唯一键:
3)将表vacancy
的列NOT NULL
定义为vacancy
。
4)在表tenant_id
上定义下面的FK:
这样,您可以保证每个链接的行都具有相同的 2/22/2016
。