![]() |
1
2
假设不存在任何子报价可能与多个用户相关的实例:
|
![]() |
2
1
修订的定义是什么?根据情况,我可能会去 temporal design .因此,项目表将存储修订,而不是具有多个修订的项目。您可以通过添加一列来跟踪上一个主键、修订开始日期和修订结束日期来完成此操作。进行修订时,旧ID将从新记录链接回。新记录的开始时间为现在,结束日期为空。旧记录的结束日期应该是空的,但也需要更新到现在。旧记录仍将指向所有旧的子引号。
|
![]() |
3
1
在这个模型中,
发布新修订时,将在
当任务“结转到”新修订时,它将被复制到具有新主键和指向新修订的外键的新行中。
现在必须为新任务完成所有引号,或者将所有引号复制到具有指向新任务的外键的新行中。
|
![]() |
4
0
或者任务可能有零个或一个子引号。很大程度上取决于你的背景。 |
![]() |
developer · 带外键的SQL表设计 8 月前 |
![]() |
relatively_random · 确保两个表之间一致的共同参考 9 月前 |
![]() |
b126 · 在两种不同的Oracle模式上执行相同查询的速度差异很大 1 年前 |
![]() |
robertspierre · 在多对多关系中自动删除未引用的行 1 年前 |
![]() |
Michael Samuel · MYSQL在以下情况下自动创建索引 7 年前 |