保存相关记录而不先保存引用的记录

时间:2009-08-31 10:18:01

标签: theory

我不知道如何解释这个,所以我会尽可能清楚地尝试这样做。

我们有一个案例记录网络应用程序。当添加案例票证时,可以添加该票证的联系人和附件。

我试图找到一种方法让访问者填写案例票据信息,添加n个联系人然后n个附件,然后再推送保存。

附件和联系人链接到故障单表,因此需要知道故障单ID才能插入正确的参考ID。

可以实施哪些不同的解决方案?

1 个答案:

答案 0 :(得分:0)

一种选择是引入链接表;所以代替:

                               contact
ticket                         -------
------                         PK id
PK id <----------------------  FK ticketid
你可以:

ticket       ticket_contact
------       --------------    contact
PK id <----- FK ticketid       -------
             FK contactid ---> PK id

现在,您可以在contact(或ticket优先)之前保存ticket条记录 - 只需添加链接记录即可。这也允许您在与contact无关的方案中重复使用ticket

另一个(更简单的)选项只是让FK可以为空......我想这可能没问题。