Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Цена за единицу или Общая стоимость - что хранить в БД

263
30 апреля 2007 года
koltaviy
816 / / 16.12.2004
Ситуация следующая.
Пользователь при поступлении нового товара вводит на форме следующую информацию:
1) Товар
2) Цена закупа за грамм
3) Общая стоимость реализации

Собственно вопрос в сабже.
Что делать: после ввода пользователя вычислять цену реализации за грамм(стоимость / граммы) и записывать именно ее в БД, а при показе пользователю общей информации по товару снова вычислять общую стоимость; либо делать обратную операцию: записывать общую сумму в таблицу, а при показе общей информации вычислять цену за грамм.

Вопрос очень интересный, ИМХО.
Хочу подчеркнуть, что и в том, и в другом случае, правила построения структуры БД не нарушаются - мы не храним вычисляемые поля в таблице. В добавок ко всему, цена реализации за грамм не используется нигде, кроме как при отображении пользователю информации по товару.
Тем не менее, хранить общую стоимоть, а не цену за грамм - как-то не привычно. :)
В общем, вот такой вопрос передо мной возник.
Кто что по этому поводу думает?? Только аргументированно, пжлста..
7.8K
30 апреля 2007 года
Hrew
185 / / 23.04.2007
На мой взгляд, это зависит от следующего:

1. Меняется ли количество граммов для данного товара, и если меняется - то влияет ли это на цену одного грамма. (Т.е., грубо говоря - всегда ли чугунная гиря весит 1000 грамм или она может весить 1005 грамм, и изменится ли от этого ее стоимость).

2. Если вес постоянен и ни на что не влияет, то - что удобнее вводить пользователю? (в смысле - какую информацию пользователю легче достать).

3. Если ни 1), ни 2) ни на что не влияют, то какого объема таблицу Вы ожидаете? Если таблица относительно небольшая - храните то, с чем Вам удобнее работать. Если ожидается здоровущая таблица на энное количество тысяч записей - храните то, что чаще используется.
28K
01 мая 2007 года
levis
4 / / 30.04.2007
Если имеется прайс лист,то необходимо хранить цену,и увел. ее при поступлении товара,но НЕ считать при извлечении.Думай если тама 100 товаром и каждый вычисляется,то работа будет продолжительней

А вообще
ганжу нада в стакане хранить а не базе,хе
263
01 мая 2007 года
koltaviy
816 / / 16.12.2004
Цитата: Hrew
На мой взгляд, это зависит от следующего:

1. Меняется ли количество граммов для данного товара, и если меняется - то влияет ли это на цену одного грамма. (Т.е., грубо говоря - всегда ли чугунная гиря весит 1000 грамм или она может весить 1005 грамм, и изменится ли от этого ее стоимость).

2. Если вес постоянен и ни на что не влияет, то - что удобнее вводить пользователю? (в смысле - какую информацию пользователю легче достать).

3. Если ни 1), ни 2) ни на что не влияют, то какого объема таблицу Вы ожидаете? Если таблица относительно небольшая - храните то, с чем Вам удобнее работать. Если ожидается здоровущая таблица на энное количество тысяч записей - храните то, что чаще используется.


Сорри забыл сказать - количество граммов поступившей единицы продукции тоже вводится пользователем - думаю все вопросы должны отпасть - остальное достаточно точно объяснил!!

263
01 мая 2007 года
koltaviy
816 / / 16.12.2004
Цитата: levis
Если имеется прайс лист,то необходимо хранить цену,и увел. ее при поступлении товара,но НЕ считать при извлечении.Думай если тама 100 товаром и каждый вычисляется,то работа будет продолжительней

А вообще
ганжу нада в стакане хранить а не базе,хе


Очень содержательно!! :)
'Респект' чЕЛОВЕК!!

10
01 мая 2007 года
Freeman
3.2K / / 06.03.2004
Цитата: koltaviy
Сорри забыл сказать - количество граммов поступившей единицы продукции тоже вводится пользователем - думаю все вопросы должны отпасть - остальное достаточно точно объяснил!!


Что хранить - в данном случае не имеет значения, что больше нравится. Можно пальцем ткнуть, закрыв глаза. А для пользователя реализовать две схемы ввода - кому как удобно будет. Точнее одну - значения в форме всегда согласованы.

263
01 мая 2007 года
koltaviy
816 / / 16.12.2004
Цитата: Freeman
Что хранить - в данном случае не имеет значения, что больше нравится. Можно пальцем ткнуть, закрыв глаза.
..


Спасибо.. В принципе то, что и ожидал услышать - не зря возник вопрос ;)
Смущало вот это:


..
А для пользователя реализовать две схемы ввода - кому как удобно будет.
..


В этом нет необходимости - данные, которые имеются у юзера содержат лишь сумму реализации..

7.8K
01 мая 2007 года
Hrew
185 / / 23.04.2007
Цитата:

Смущало вот это:
...
Тем не менее, хранить общую стоимоть, а не цену за грамм - как-то не привычно.
...



Почему Вас это смущает? Базе все равно, что Вы в ней храните, пользователю - тем более :). В своей разработке Вы сам себе хозяин - как удобнее, так и делайте, лишь бы принятое Вами решение не влияло существенным образом на производительность.

263
01 мая 2007 года
koltaviy
816 / / 16.12.2004
Цитата: Hrew

..
Базе все равно, что Вы в ней храните, пользователю - тем более :).
..


Вот блин, а я же догадывался, что им все равно - ну теперь ты меня до конца просвятил ;)

Цитата: Hrew

..
В своей разработке Вы сам себе хозяин - как удобнее, так и делайте, лишь бы принятое Вами решение не влияло существенным образом на производительность.


А если серьезно: понятное дело, что я могу хоть что наворотить и никто об этом не узнает :), тем не менее, изначально необходимо досканально продумывать схему базы данных, чтобы потом не возникло проблем.
Поле [общая стоимость] - в общем случае является вычисляемым, а поле [цена за грамм] - хранимым в таблице. Вот это меня и смущало.

Я получил ответ на свой вопрос - всем спасибо за участие!!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог