长期读者,第一次海报。我有2个这样的表:
Div(ID,金额,......) Txn(ID,金额,......)
有时在2之间存在关联,其中需要在Txn表中捕获Div表ID,但并非总是如此。如果有的话,只有1个Txn记录与1个Div记录相关联。此外,当删除Div记录时,我希望删除相应的Txn记录(如果存在)。
我的问题是;我应该只在Txn表中添加一个“DivID”字段并通过应用程序管理删除,还是最好添加一个带有DivID和TxnID的第三个表来捕获关系?
感谢您的想法。 添
答案 0 :(得分:1)
我会在Txn表中添加DivId,将其添加为外键,在创建(或更改)表时,设置选项On Delete Cascade。查询它时,你可以使用左连接,因为不是每个Div都有一个Txn记录。删除时,因为您设置了该选项,它将强制删除Txn中的记录。