2 / 2 / 1
Регистрация: 03.11.2016
Сообщений: 40
|
||||||||||||||||
1 | ||||||||||||||||
Добавление нового заказа в высоконагруженную систему03.12.2019, 12:50. Показов 709. Ответов 0
Здравствуйте, необходима помощь с высоконагруженным запросом.
Необходимо составить SQL-запрос, который позволяет заносить данные заказа клиента с учетом специфики высоконагруженной системы. При составлении SQL-запроса необходимо учесть следующее: - для занесения данных в корзину заказа (shopping_cart) необходимы значения внешних ключей (fk_order и fk_product); - существует проблема получения значения id_order, в случае занесения данных заказа в таблицу Order. Она обусловлена тем, что за время от занесения данных заказа до наполнения корзины, в высоконагруженной системе уже могли быть оформлены другие заказы; - существует проблема добавления товаров (fk_product) в корзину заказа (shopping_cart). Перед добавлением товара в корзину, необходимо проверить, превышает ли количество (shop_quantity) заказанного товара в корзине его количество (quantity) на складе. Если нет, то количество товара на складе необходимо уменьшить на количество в корзине. Однако, за время наполнения корзины в высоконагруженной системе уже могли быть оформлены другие заказы на этот товар. То есть текущее значение количества товара в корзине и на складе (shop_quantity и quantity) может оказаться не актуальным (недействительным). Таблица "Order":
1) сначала добавляется запись о новом заказе в таблицу "Order" (id_order, fk_client, date); 2) далее идёт заполнение корзины, таблица "Shopping_Cart" (fk_order, fk_product, shop_quantity), также перед добавлением товара мы проверяем условия: превышает ли количество (shop_quantity) заказанного товара в корзине его количество (quantity) на складе и если нет, то количество товара на складе необходимо уменьшить на количество в корзине. При этом не понятно как в одном запросе произвести вставку сразу в 2 таблицы (Order, Shopping_Cart) и как выполнить следующие условия: 1) При этом существует проблема получения значения id_order, в случае занесения данных заказа в таблицу Order. Она обусловлена тем, что за время от занесения данных заказа до наполнения корзины, в высоконагруженной системе уже могли быть оформлены другие заказы. 2) Однако, за время наполнения корзины в высоконагруженной системе уже могли быть оформлены другие заказы на этот товар. То есть текущее значение количества товара в корзине и на складе (shop_quantity и quantity) может оказаться не актуальным (недействительным).
0
|
03.12.2019, 12:50 | |
Ответы с готовыми решениями:
0
Как спроектировать высоконагруженную систему на ASP? Метод добавления нового заказа Уведомление при появлении нового заказа на FL.ru, freelance.ru, Upwork и т. д СМА Whirlpool WP1088/45MPA, Подскажите код для заказа нового модуля |
03.12.2019, 12:50 | |
03.12.2019, 12:50 | |
Помогаю со студенческими работами здесь
1
Подскажите, как сделать систему заказа товаров Стиральная машина Whirlpool AWT 2290, нужен код для заказа нового модуля Добавление нового указателя в конец массива указателей, удаление указанного элемента, добавление указателей Добавление нового столбца в DataGridView и в первую строку данного столбца добавление значения из textbox Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |