2013-03-18 112 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中的記錄。