2013-03-18 85 views
1

长时间读者,第一次张贴海报。我有像这样2个表:连接表与第三张表

股利(ID,金额,...) 事务处理(ID,金额,...)

有时是2,其中在div表ID之间的关联需要在Txn表中捕获,但并非总是如此。如果有的话,将只有1个Txn记录与1个记录相关联。另外,当Div记录被删除时,我想要删除相应的Txn记录(如果存在)。

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

感谢您的想法。 Tim

回答

1

我将在Txn表中添加DivId,将其添加为外键,并且在创建(或更改)表时,设置选项On Delete Cascade。当查询它时,可以使用左连接,因为并不是每个Div在Txn中都有一条记录。删除时,由于您设置了该选项,它将强制删除Txn中的记录。