1

长期读者,第一次海报。我有两张这样的桌子:

Div (ID, Amount,...) Txn (ID, Amount,...)

有时两者之间存在关联,需要在Txn表中捕获Div表ID,但并非总是如此。如果有的话,只会有 1 条 Txn 记录与 1 条 Div 记录相关联。此外,当删除 Div 记录时,我希望删除相应的 Txn 记录(如果存在)。

我的问题是;我应该只在 Txn 表中添加一个“DivID”字段并通过应用程序管理删除,还是添加第三个具有 DivID 和 TxnID 的表来捕获关系会更好?

谢谢你的想法。蒂姆

4

1 回答 1

1

我会在 Txn 表中添加 DivId ,将其添加为外键,然后在创建(或更改)表时,设置选项 On Delete Cascade 。查询时,您可以使用 Left Join,因为并非每个 Div 在 Txn 中都有记录。删除的时候,因为你设置了选项,所以会强制删除Txn中的记录。

于 2013-03-18T18:37:26.620 回答