我遇到的情况是A具有-X,B具有-X,C具有-X等。 我如何确保A1是否具有X1,B1 / C1 / D1无法具有X1。等等?
是否仅通过业务逻辑来确保? 我想知道最佳做法。 谢谢
答案 0 :(得分:1)
此答案假设您已经具有某种关联表,该关联表将拥有者A
,B
,C
与项目X
等相关联。类似这样的东西:
owner | item
A | X
B | Y
C | Z
如果要确保只有一个所有者可以拥有给定项目,那么您要做的就是在item
列上添加唯一约束:
ALTER TABLE yourTable ADD UNIQUE (item);
答案 1 :(得分:1)
根据您的问题,您似乎有多个表(A,B,C,D等),然后是一个X表。每个主表都与X表相关,但是您要确保对与X表的所有表关系都具有唯一约束。
如果是这样,我不知道有没有一种方法可以不使用业务逻辑来完成该任务,除非您可以创建另一个表,该表位于两个表之间,该表包含唯一约束并用作所有主表和主表之间的关系表。如果要避免潜在的复杂业务逻辑编码,请使用X表。
TJ