Создание таблицы с историей цены на товар.

Zellweger

Client
Регистрация
14.12.2022
Сообщения
20
Благодарностей
4
Баллы
3
Здравствуйте!
Подскажите,пожалуйста, каким способом можно реализовать задачу:
Есть файл таблицы эксель, в нем данные о товарах: артикул,название,цена.
Нужно сохранить информацию о цене товара по дням: 10.12 - 100р, 11.12.- 200р и т.д. в отдельный файл(БД,эксель) для дальнейшей аналитики.
Каждый день файл с данным о товарах обновляется, в нём может не быть некоторых товаров, сохраненных ранее, цены будут меняться, как лучше хранить данные в базе данных или эксель таблицы будет достаточно?
 
  • Спасибо
Реакции: Sho

Sho

Активный пользователь
Регистрация
08.08.2022
Сообщения
100
Благодарностей
51
Баллы
28
Здравствуйте!
Подскажите,пожалуйста, каким способом можно реализовать задачу:
Есть файл таблицы эксель, в нем данные о товарах: артикул,название,цена.
Нужно сохранить информацию о цене товара по дням: 10.12 - 100р, 11.12.- 200р и т.д. в отдельный файл(БД,эксель) для дальнейшей аналитики.
Каждый день файл с данным о товарах обновляется, в нём может не быть некоторых товаров, сохраненных ранее, цены будут меняться, как лучше хранить данные в базе данных или эксель таблицы будет достаточно?
Однозначно лучше использовать базу данных.
Почитайте, что такое реляционные базы данных.
Excel, вскоре захлебнется.
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 100
Благодарностей
129
Баллы
63
Вопрос может не столько хранить, а как это представлять, чтобы наглядно было.
 

Zellweger

Client
Регистрация
14.12.2022
Сообщения
20
Благодарностей
4
Баллы
3
Однозначно лучше использовать базу данных.
Почитайте, что такое реляционные базы данных.
Excel, вскоре захлебнется.
А не подскажите, какую именно базу данных использовать? Oracle как наиболее популярное решение или что-то может попроще есть для обозначенной задачи? Также может есть статья описывающая выполнение такой или похожей задачи?

Вопрос может не столько хранить, а как это представлять, чтобы наглядно было.
Сперва нужно сохранить информацию для дальнейшей работы с ней.
 
  • Спасибо
Реакции: Sho

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 565
Благодарностей
1 166
Баллы
113
MySQL, PostgreSQL, SQLite...
Я олдфаг, обычно объемы небольшие, поэтому работаю с MySQL. Тысячи и десятки тысяч строк обрабатываются нормально. Просто запросы делить на пачки и индексы в базе проставить.
В целом, имхо, самый простой вариант реализовать так:
1. Две таблицы. В одной - данные о товарах. В другой - цены. Связь - через внешний ключ (по какому-нибудь базовому id).
2. Во вторую таблицу добавляешь цены каждый день по каждому товару (по сути, четыре колонки: сквозной id записи - автоинкремент, id товара, цена, дата добавления цены).

Если нужно выводить куда-то, то какой-нибудь XCRUD.

ps. Да, понятно, что есть куча вариантов сразу сделать "по феншую". Проблема обычно в том, что не хватает навыков/знаний. А если начинать углубляться, то 90%, а то и 95% просто не дойдут до реализации ))) Для начала главное - чтобы работало. А потом уже оптимизировать, переделывать, улучшать ))) Но это имхо.
 
  • Спасибо
Реакции: Sho и djaga

Zellweger

Client
Регистрация
14.12.2022
Сообщения
20
Благодарностей
4
Баллы
3
MySQL, PostgreSQL, SQLite...
Я олдфаг, обычно объемы небольшие, поэтому работаю с MySQL. Тысячи и десятки тысяч строк обрабатываются нормально. Просто запросы делить на пачки и индексы в базе проставить.
В целом, имхо, самый простой вариант реализовать так:
1. Две таблицы. В одной - данные о товарах. В другой - цены. Связь - через внешний ключ (по какому-нибудь базовому id).
2. Во вторую таблицу добавляешь цены каждый день по каждому товару (по сути, четыре колонки: сквозной id записи - автоинкремент, id товара, цена, дата добавления цены).

Если нужно выводить куда-то, то какой-нибудь XCRUD.

ps. Да, понятно, что есть куча вариантов сразу сделать "по феншую". Проблема обычно в том, что не хватает навыков/знаний. А если начинать углубляться, то 90%, а то и 95% просто не дойдут до реализации ))) Для начала главное - чтобы работало. А потом уже оптимизировать, переделывать, улучшать ))) Но это имхо.
Полностью согласен с вашим "имхо". По второму пункту, я представляю себе это так- колонки:артикул товара, дата(10.12.22),дата(11.12.22) и т.д., то есть на каждый день своя колонка. Артикул товара уникален,можно ли его использовать вместо автоинкремента? Что думаете о моем способе? В вашем варианте будет много строк, в моем будет больше колонок. Что будет удобнее, если понадобится сравнить цены между днями, например? Мой вариант будет сложнее реализовать,т.к. придется записывать в определенную колонку дату(в первую пустую колонку в заголовке), надо будет пропускать колонку, если товар отсутствовал вчера, но появился сегодня(не знаю возможно ли добавить в определенную колонку и строку значение при работе с БД,поэтому исхожу из логики работы с эксель:взять строку с удалением в список , добавить цену в конец списка->добавить строку в таблицу)
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 565
Благодарностей
1 166
Баллы
113
@Zellweger
Вообще, советую поискать курс от Geekbrains, называется Основы баз данных. Весьма наглядно для начала, очень многие базовые вещи станут понятны еще на этапе проектирования структуры БД (а это - 80-90% успеха)
Артикул товара и так будет уникален, он никак не мешает отдельной колонке с айди с автоинткрементом. Просто примите для себя за правило всегда делать колонку со сквозным айди, даже если он, кажется, в работе не нужен )))
По колонкам вместо строк. Это только кажется, что одно и то же, просто с другой стороны. Даже работать неудобно будет, колонки создавать надо будет. Но, главное, поверьте, это просто неправильно.
ps. Посмотрите курс (он точно где-то в интернете светился, включая торренты). На удивление толковый для новичков (я даже жену заставил посмотреть, она прямо полюбила базы данных).
 
  • Спасибо
Реакции: Sho, djaga и Zellweger

Zellweger

Client
Регистрация
14.12.2022
Сообщения
20
Благодарностей
4
Баллы
3
@Zellweger
Вообще, советую поискать курс от Geekbrains, называется Основы баз данных. Весьма наглядно для начала, очень многие базовые вещи станут понятны еще на этапе проектирования структуры БД (а это - 80-90% успеха)
Артикул товара и так будет уникален, он никак не мешает отдельной колонке с айди с автоинткрементом. Просто примите для себя за правило всегда делать колонку со сквозным айди, даже если он, кажется, в работе не нужен )))
По колонкам вместо строк. Это только кажется, что одно и то же, просто с другой стороны. Даже работать неудобно будет, колонки создавать надо будет. Но, главное, поверьте, это просто неправильно.
ps. Посмотрите курс (он точно где-то в интернете светился, включая торренты). На удивление толковый для новичков (я даже жену заставил посмотреть, она прямо полюбила базы данных).
Спасибо за ответ
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)