Я новичок в программировании.
Вчера я думал о разработке новой базы данных программ, но у меня есть проблема:
Например, я пишу программу искателя, чем записываю книги Kindle Amazon, тогда мне нужно создать 2 таблицы:
- таблица элементов: имя записи ebooks, ASIN, url.etc
- ценовой стол: база на ASIN, цена сегодняшних электронных книг, новая цена и дата, когда цена изменилась.
Затем, в интерфейсе, на самом деле ему нужна самая lowest price
за все время записи, мне было интересно, как эта lowest price
должна записываться в таблицу цен (точно так же, как Excel) или рассчитать, когда нужен FE?
Я знаю, что оба способа будут работать, что я просто задаюсь вопросом, как профессиональный программист?
Спасибо за ответ.
это хороший вопрос, без легкого ответа... "это зависит",
в общем, вы должны избегать дублирования данных, таким образом ваша база данных будет последовательной. если вам нужен сводный - просто запрос для него.
если у вас много запросов и много записей в db - вы должны рассмотреть возможность сохранения этих агрегатов и не пересчитывать их. но теперь вы должны поддерживать эти агрегаты либо на каждом вставке/обновлении/удалении, либо через почасовые, ежедневные/ночные задания. поэтому для вас намного больше работы.
Я предлагаю вам начать с первого подхода, и если вы столкнетесь с перфомансом - перейдите ко второму