свързване на таблици с трета таблица

Дългогодишен читател, за първи път плакат. Имам 2 маси така:

Div (ИД, сума,...) Txn (ИД, сума,...)

Понякога има връзка между 2, където ID на таблицата Div трябва да бъде уловен в таблицата Txn, но не винаги. Ще има само 1 Txn запис, свързан с 1 Div запис, ако изобщо има такъв. Освен това, когато Div записът бъде изтрит, бих искал съответният Txn запис да бъде изтрит, ако съществува такъв.

Въпросът ми е; трябва ли просто да добавя поле "DivID" към таблицата Txn и да управлявам изтриванията чрез приложението, или би било по-добре да добавя трета таблица с DivID и TxnID, за да уловя връзката?

Благодаря за вашите мисли. Тим


person Timothy Carter    schedule 18.03.2013    source източник


Отговори (1)


Бих добавил DivId в таблицата Txn, бих го добавил като външен ключ и когато създавам (или променям) таблицата, задавам опция On Delete Cascade. когато го заявите, можете да използвате Left Join, тъй като не всеки Div има запис в Txn. Когато изтриете, тъй като сте задали опцията, това ще принуди да изтрие записа в Txn.

person urlreader    schedule 18.03.2013