Пишу базу данных склада бакалейных товаров.У меня есть таблицы clients, workers, orders, products
и некоторые, которые не очень важны в этом вопросе.
Я хочу избежать проблемы, когда клиент делает новый заказ на продукт , но его недостаточноэтого товара на нашем складе.
Я должен совершить транзакцию, чтобы избежать ситуации, когда два клиента делают новый заказ одновременно, и один из них заказал, например, последний товар, делая заказ вторымклиент.
Я действительно не знаю, как это сделать, потому что только работники могут уменьшить количество каждого продукта.Поэтому я хочу, чтобы при удалении заказа (который был сделан клиентом) работником количество доступного продукта было уменьшено.
Я знаю, что могу включить его в триггер, но вопрос:
как определить транзакцию заказа товара с проверкой доступной суммы.Стоит ли считать разницу между доступной суммой в таблице «Продукты» и количеством заказанного товара по времени (нереализованные заказы).
Как это сделать?