OLTP ориентирован на короткие операции и транзакции, OLAP — на аналитические чтения и агрегирование больших объёмов. Это профили нагрузки, а не жёсткое деление всех продуктов на два несовместимых типа.
Оконные функции вычисляют результат по связанному набору строк, сохраняя отдельные строки результата. В отличие от GROUP BY они не обязаны сворачивать группу в одну строку.
Фикстура создаёт соединение, передаёт его тесту через yield и закрывает в finally. Обычное падение теста не отменяет teardown; ошибка подключения до yield даёт ошибку setup, и тело теста не выполняется.
Вынесите SQL-проверки в тестовый код с подготовкой данных, параметризованными запросами и понятными assertions. Подключение к БД должно быть изолированным и иметь минимально необходимые права.
Это означает проверку согласованности связанных данных после их передачи или изменения. SQL мог помогать сравнивать идентификаторы, статусы и суммы, но точный способ зависит от архитектуры проекта.
Сначала проверю пустую корзину, корректную корзину с товарами и скидками, а также изоляцию корзин разных пользователей. Для расчётов заранее уточню смысл discount и правила округления.
Требование противоречиво, поэтому направление сортировки нужно уточнить. Для возрастания используют ORDER BY name ASC, для убывания — ORDER BY name DESC; без уточнения нет единственного верного ответа.
Опишите, использовали ли Core-запросы, декларативные ORM-модели или отражение существующей схемы. Модели могли писаться вручную или генерироваться, и это важно уточнить.
Выбор SQLAlchemy можно объяснить единым интерфейсом запросов, управлением соединениями и поддержкой Core/ORM, если это действительно было нужно проекту. Не представляйте библиотеку обязательным выбором.
Индекс — дополнительная структура, ускоряющая определённые способы поиска и упорядочивания данных. За ускорение чтения платят местом, затратами на изменение записей и обслуживанием.
200 OK подтверждает ответ операции, но не равенство таблиц. Сверьте согласованный срез источника и назначения: схему, количество строк, ключи и содержимое, учитывая преобразования.
Базовый синтаксис: UPDATE таблица SET поле = значение WHERE условие. WHERE ограничивает изменяемые строки; без него можно обновить всю таблицу. Поддержка UPDATE с JOIN зависит от СУБД.