У меня есть 2 таблицы, которые по существу имеют отношения родитель-потомок. Таким образом, в дочерней таблице есть столбец, который ссылается на первичный ключ родительской таблицы.
В двух словах, родительская таблица похожа на агрегацию дочерней таблицы, где каждая строка родительской таблицы содержит сумму данных группы строк в дочерней таблице, а в дочерней таблице каждая строка в этой группе относится к «суммированному /total" в родительской таблице.
Теперь я не знаю, как правильно это смоделировать.
Я имею в виду, что я вставляю строки в дочернюю таблицу, позволяя столбцу для родительского ключа быть NULL
(шаг 1).
Затем, когда пришло время добавить/суммировать строки, я вставляю новую запись в родительскую таблицу (шаг 2) с общим количеством групп, которые мне удалось собрать.
Теперь у меня возникла проблема (шаг 3): как обновить дочерние строки с родительским идентификатором, созданным только что вставленной строкой?
На данный момент я также не знаю идентификаторы строк, которые я суммировал.
Должен ли я выбирать идентификаторы строк, а затем обновлять эти строки, чтобы заменить NULL
новым родительским идентификатором? Должно ли это быть внутри транзакции?
Я делаю это неправильно? Должны ли эти шаги происходить автоматически из-за ограничений?
amount
, а в таблице B есть столбецtotal_amount
. Группы строк в таблице A суммируются поamount
и заполняютсяtotal_amount
в таблице B. - person Jim   schedule 02.12.2013