связывание таблиц с третьей таблицей

Давно читал, первый раз постер. У меня есть 2 таблицы, например:

Div (ID, сумма,...) Txn (ID, сумма,...)

Иногда существует связь между 2, когда идентификатор таблицы 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 . при запросе вы можете использовать левое соединение, поскольку не каждый Div имеет запись в Txn. При удалении, поскольку вы установили эту опцию, это заставит удалить запись в Txn.

person urlreader    schedule 18.03.2013