Member 13779854 Ответов: 1

Как я могу писать в две таблицы в базе данных одновременно


Я создаю систему продаж/заказов в VB.NET и MS Access. У меня есть база данных, состоящая из 4 таблиц: tblOrders, tblOrderDetails, tblProducts и tblManufacturers. Я могу добавить еще несколько таблиц, если/когда я сочту это необходимым. Эти таблицы копируются из базы данных Northwind sample.

Я предполагаю, что цель наличия таблицы сведений о заказе заключается в том, чтобы один заказ мог иметь несколько продуктов. Если это так, то какая таблица должна быть записана в первую очередь при создании заказа? Я запутался в том, как писать как в tblOrders, так и в tblOrders детали при подтверждении заказа.

Что я уже пробовал:

Я не знаю, что делать. Существует отношение один ко многим между OrderID в tblOrders и tblOrderDetails. Я думаю о том, чтобы сначала написать в таблицу сведений о заказе, так как это создаст запись в таблице сведений о заказе. Поскольку первичный ключ в таблице заказов не может быть оставлен пустым, правильно ли я думаю, что он автоматически заполнит его для меня в таблице сведений о заказе?

1 Ответов

Рейтинг:
2

GKP1992

Рассуждая логически, вы создаете детали "для" заказа, то есть заказ должен существовать, чтобы вы могли добавить к нему какие-либо детали. Технически, PK в таблице Orders должен быть FK в деталях заказа и не должен быть обнулен в обеих таблицах, подчеркивая тот факт, что вам нужно вставить в таблицу "tblOrders", прежде чем вы начнете вставлять в "tblOrderDetails".
Кроме того, использование транзакции обеспечит целостность данных для обеих этих таблиц.


Maciej Los

Логически ;)

GKP1992