📋 Текст тестового задания

Есть база данных для хранения информации о клиентах, товарах и заказах со следующей структурой:

clients (id, name) — ID клиента и его имя
merchandise (id, name) — ID товара и его наименование
orders (id, item_id, customer_id, comment, status, order_date) — ID заказа, ID товара, ID клиента, комментарий клиента, статус заказа ('new', 'complete'), дата заказа.

* Структура предполагает, что один заказ — это один товар.

Необходимо реализовать:

  1. Скрипт импорта данных:
    Написать скрипт, который получает на вход текстовый файл с данными о заказах (разделитель ";") вида: ID товара;ID клиента;Комментарий к заказу и загружает содержимое в структуру БД. При этом все невалидные строки должны записываться в отдельный файл. Использование сторонних решений / библиотек нежелательно.
  2. Аналитические SQL-запросы:
    Написать SQL-запросы, возвращающие набор данных, соответствующий следующим условиям:
    • a. Выбрать имена (name) всех клиентов, которые не делали заказы в последние 7 дней.
    • b. Выбрать имена (name) 5 клиентов, которые сделали больше всего заказов в магазине.
    • c. Выбрать имена (name) 10 клиентов, которые сделали заказы на наибольшую сумму.
    • d. Выбрать имена (name) всех товаров, по которым не было доставленных заказов (со статусом 'complete').
  3. Оптимизация и индексы:
    Описать, какие бы вы создали индексы для оптимизации скорости работы запросов из п.2 и почему.

📦 Состав решения (Выдаваемый архив):