Table 具有 4-table 循环引用的完整性

Table integrity with 4-table circular references

以下用例时不时地困扰着我,它总是让我恼火,因为我真的不知道解决这个问题的方法。最近又遇到了:

  • An object has 0 or more objectProperties;
  • an object is used in 1 or more operations;
  • some of the operations use 1 or more objectProperties of the object they are operating on (0 or more relation);
  • an objectProperty will be used in 1 or more operations.

这导致我进行以下数据库设计:

注意:table名字是为了说明问题而编造的


我的问题是

*) 我可以在我的应用程序代码中强制执行此规则,但我觉得它相当脆弱,所以我宁愿看到数据模型中的约束强制执行的完整性,如果可能的话。

您的图表正确地表示了规定的要求。

要强制引用完整性,您可以将 objectId 添加到 operationUsingObjectProperty table。然后,您可以在 objectId, objectPropertyIdobjectId, operationId.

上创建复合外键约束