我有以下表格(我发布了缩减版本以便专注于问题):
Loan (loan_id, loan_info, ..., handling1_id, handling2_id)
Handling (handling_id, handling_info, ...)
在我的模型中,每个贷款与0-2处理相关联,但实际上有两个1:1关系,因为handling1_id必须与handling2_id不同,并且不能有多个与相同处理相关的贷款。
我知道从数据库的角度来看这种模型的正确方法是在处理指向贷款的FK中创建。但如果我这样做的话,每次我都必须阅读这两张表,即使没有与贷款有关的处理。
我的网络应用程序将始终显示贷款及其处理的信息。通过这种方式,应用程序将读取Loan表,并且如果至少有一个字段handling1_id,handling2_id不为null,则只读取Handling表,因此很多次它将避免读取Handling表(更好的性能)。
问题在于,当我在Access面板中创建此关系并将Loan字段handling1_id和handling2_id设置为唯一时(它们也应该彼此不同,但我认为只能通过脚本完成)并设置参考诚信,它自动纠正关系,并认为每一处理都必须与贷款相关, 所以我不能在处理中插入而不将其与贷款相关联。
以下是我的关系:
当我关闭并再次打开它时,Access创建了这个:
有关解决此问题的任何提示吗?
先谢谢!