@larionov_n

Разъясните задачу по тестовому заданию

Добрый день, прислали задание на почту, посмотрел его, не понимаю, что сделать с BD.

Задание:

есть выборка из бд. 10000 строк:
(ts_day_start, pm_id, price, sum)
Каждая строка - это событие покупки товара
ts_day_start - таймстемп начала суток UTC+0
pm_id - айдишник товара
price - цена товара на момент покупки (в условных единицах)
sum - потрачено на этот товар по этой цене за эти сутки

необходимо отобразить эти данные в html в виде таблицы
строка: (pm_id, price)
столбец: (ts_day_start)
на пересечении: sum
строки отсортированы по (pm_id, price)
столбцы отсортированы по (ts_day_start)

на практике выборку вычитывает из бд пхп-скрипт
для выполнения задачи нужно сгенерировать 10000 строк, похожих на правду. Например, 10 дней, 50 товаров, каждый товар стоит 3 разные цены

Замечание: в таблице в клетках могут оказаться нули (и всегда оказываются). Потому что не бывает такого, чтобы каждый день покупали все товары

Удобные фреймворки на клиентской стороне использовать можно.

Результат: страница в сети; весь код.

Я так понимаю, нужно написать скрипт который запишет 1000 строк в определенную таблицу. БД для подобной цели проектировать же не нужно? Следует на PHP написать скрипт который произведет определенную работу в цикле 1 <= 1000 и произведет от рандомных значений запись в BD в которой будет отображена покупка, но если 0 - это не покупка, то что? Не совсем понял формулировку в описании.
  • Вопрос задан
  • 2690 просмотров
Решения вопроса 1
Remmi
@Remmi
1. "0" - это, похоже, значит, что товар НЕ ПОКУПАЛИ в этот день (если 0 для столбца sum)
2. Схема БД уже описана в задании, осталось только сделать кодом
(ts_day_start, pm_id, price, sum)
Каждая строка - это событие покупки товара
ts_day_start - таймстемп начала суток UTC+0
pm_id - айдишник товара
price - цена товара на момент покупки (в условных единицах)
sum - потрачено на этот товар по этой цене за эти сутки

3. БД лучше всё же спроектировать, поскольку сгенерированные строки надо где-то хранить (не в памяти же скрипта это делать)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы