Здравствуйте, есть интернет-магазин. Например, две валюты - доллар и евро. Одна из валют является текущей, то есть той в которой все цены на сайте. Например, в бд записаны все цены в долларах и нужно поменять текущую валюту на евро. Навряд ли цены в базе должны пересчитываться каждый раз когда меняется текущая валюта? Как обычно хранится цена на товары? Предполагаю что цены в валюте по умолчанию, а при смене валюты на другую цена выводимая в view пересчитывается в другую валюту соответственно текущему курсу?
Первый: Хранить в отдельном столбце вторую цену и пересчитывать её при обновлении курса
Второй: перед выводом проверять настройки валюты и если она отличается от основной пересчитывать по текущему курсу прямо перед выводом. (в большинстве случаев именно этот вариант предпочтительнее т.к валют может быть много)
По хорошему чтобы избежать лишних ошибок хранить одну базовую цену.
И таблицу с текущим курсом.
И при запросе пересчитывать.
--
А иначе скажем у вас 5 валют. И много товаров.
Вы меняете ценник, в момент изменения цен что-то и дет не так и кирдык, получаете не связанную базу где цены друг другу хаотично не соответствуют.
Все зависит от того нужна ли вам история.
Если история нужна то цену лучше не привязывать к карточке товара а назначать отдельным документом типа установки цен.
Тогда будет сложнее реализация но вы всегда сможете контролировать какая была стоимость на определённую дату.
--
Если история изменения не нужна то можно и при создании товара назначать.