2011-01-20 1 views
1

Мне нужно смоделировать довольно сложную структуру ценообразования для некоторых наших продуктов.Модельная структура ценообразования продуктов моделирования

Сегодня мы просматриваем цены вручную. Вот изображение с пояснениями «матрицы», которые мы используем сегодня: Sample model (извините за ссылку - но мне не разрешено размещать изображения, потому что я только что открыл свою учетную запись.)

Теперь мне нужно передать эта модель для системы РСУБД (SQL Server 2008 R2). Точкой входа при поиске цены является категория, затем годовой интервал и, наконец, интервал, зависящий от того, сколько продуктов мы продаем в этом заказе. Результатом запроса должно быть две цены.

Есть ли у вас какие-либо предложения по моделированию этого? Я думал о моделировании его как матрицы с RowNumber, CellNumber и CellValue. Но тогда мне нужна другая таблица для описания того, что содержится в каждой ячейке (путем ссылки на строки и номера ячеек). Если вы это сделаете, я могу просто включить цены в эту таблицу описания. Но это не похоже на лучшее решение.

Есть ли у вас какие-либо намеки/решения о том, как правильно моделировать эту проблему?

ответ

0

Я думаю, что я хотел бы сделать что-то вроде этого:

SQL Schema

Категории разделены на свою собственную таблицу. Каждая строка в таблице цен уникально идентифицируется по категории и отправной точке проданного и отгруженного диапазона. Я не думаю, что вам нужно будет указать конечную точку в таблице (поскольку конечная точка диапазона должна быть начальной точкой следующего диапазона минус одна).

Редактировать: с помощью этой модели вам нужно будет добавить строку в таблицу цен для каждой комбинации категории, единиц проданного интервала и единиц отправленного интервала, но прямо сейчас я не могу придумать более простой способ.

+0

Я тоже подумал об этом решении. Меня беспокоит только то, что будет много дублированных данных. Интервалы в основном одинаковы для каждой категории. Я мог бы, конечно, нормализовать его еще больше, создав две таблицы для хранения этих интервалов, но я надеялся на более элегантное решение. Но, возможно, этого не существует :-) – Vern

+0

Если интервалы в основном одинаковые, то, вероятно, я бы добавил две дополнительные таблицы, как вы предложили. Это должно несколько увеличить согласованность данных – kskjon