
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
04.02.2013, 18:04
|
|||
|---|---|---|---|
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
Задача: есть некий Параметр который равен, к примеру 1 все время, за исключением каких-нибудь условий Пример: коэффициент наценки = 1 во всех городах, кроме Москвы в которой он = 2 Как такое реализовать? ежели взять и решать в лоб - Таблица коэффициентов -------------------------- 1.Населенный пункт 2.Коэффициент то на каждый чих (изменение обычного коэффициента) придется обновлять здоровенную таблицу (не говоря уж о ее создании) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2013, 18:13
|
|||
|---|---|---|---|
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
sp, Отдельно храните к-т по умолчанию ("1"). Соответсвует городу Null Далее для всех городов-исключений в данной таблице Свой к-т. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2013, 18:14
|
|||
|---|---|---|---|
|
|||
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
spЗадача: есть некий Параметр который равен, к примеру 1 все время, за исключением каких-нибудь условий Пример: коэффициент наценки = 1 во всех городах, кроме Москвы в которой он = 2 Как такое реализовать? ежели взять и решать в лоб - Таблица коэффициентов -------------------------- 1.Населенный пункт 2.Коэффициент то на каждый чих (изменение обычного коэффициента) придется обновлять здоровенную таблицу (не говоря уж о ее создании) Хранить 1 запись "коэффициент для Москвы" и 1 запись "коэффициент пол умолчанию".Использовать, соответственно, isnull(ТаблицаКоэффициентов.Коэффициент, ТаблицаКонстант.КоэффициентПоУмолчанию) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2013, 18:50
|
|||
|---|---|---|---|
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
Естественно исключений может быть несколько, но несопоставимо меньше чем остальных случаев ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2013, 19:12
|
|||
|---|---|---|---|
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
dvim, Кот Матроскин, прошу прощения, но хотелось бы архитектурное решение, а не затычку..( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2013, 19:19
|
|||
|---|---|---|---|
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
Проблема при решении в лоб осложняется при добавлении, к примеру городов, - необходимо при создании города указывать еще и наценку и коим-то образом помнить значение по-умолчанию или значение для исключения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2013, 19:56
|
|||
|---|---|---|---|
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
В таблице храните только исключения. Ф-цией или подзапросом зачитывайте из нее. Если Null то =1. как-то так: ISNULL(dbo.GetCityKoef(City), 1) * price ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2013, 20:26
|
|||
|---|---|---|---|
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
spdvim, Кот Матроскин, прошу прощения, но хотелось бы архитектурное решение, а не затычку..( Вопросы такого рода (настройка параметров) здесь обсуждаются постоянно. См., например, 13768063 В Вашем случае, вероятно на двух уровнях: в Параметрах системы и в соответствующем типе сущности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.02.2013, 12:45
|
|||
|---|---|---|---|
|
|||
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
Еще тынц Заключительное сообщение от softwarer формулирует итог исчерпывающим образом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.02.2013, 13:24
|
|||
|---|---|---|---|
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
Cane Cat FisherЕще тынц Заключительное сообщение от softwarer формулирует итог исчерпывающим образом. Только не для этой задачи:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.02.2013, 15:38
|
|||
|---|---|---|---|
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
Склоняюсь к декларативному варианту с процедурной/триггерной обработкой вставки данных в таблицу городов - где после вставки данных в таблицу городов вставлять данные в таблицу "ГородаНаценки" Таким образомданные в базе будут в "нормальном" представлении, а вся муторная логика в одном месте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.02.2013, 15:59
|
|||
|---|---|---|---|
|
|||
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
sp, Как Вы в этом случае будете отличать ситуацию "наценка для города есть [и случайно совпадает со значением по умолчанию] и "наценки для города нет, берется значение по умолчанию"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.02.2013, 16:26
|
|||
|---|---|---|---|
|
|||
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
> варианту с процедурной/триггерной обработкой вставки данных в таблицу городов Телепатически могу предположить, что ваша задача - модный нынче геотаргетинг. Параметр, о котором вы говорите, - не абстрактная цифра, а некая эмпирическая зависимость между ценообразованием и, например, средним уровнем доходов населения. Рациональным было бы решение, основанное на административно-территориальном делении, но по схеме, приведенной Котом Матроскиным: значение по умолчанию + исключения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.02.2013, 17:05
|
|||
|---|---|---|---|
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
Кот Матроскинsp, Как Вы в этом случае будете отличать ситуацию "наценка для города есть [и случайно совпадает со значением по умолчанию] и "наценки для города нет, берется значение по умолчанию"? по-умолчанию городу будет присваиваться стандартная наценка, а в случае надобности - админ установит исключение для данного города ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.02.2013, 17:54
|
|||
|---|---|---|---|
|
|||
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
sp, еще раз. По умолчанию у нас наценка 1. Мы знаем, что для города N есть исключение (наценка считается по другим законам), но результат получился все равно 1 (так совпало). В один прекрасный момент мы решаем, что наценка по умолчанию будет теперь 1,5 - то есть, по Вашей схеме, нам надо изменить наценки у всех городов, по которым нет исключений Как разрулится ситуация с городом N? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.02.2013, 14:29
|
|||
|---|---|---|---|
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
Кот Матроскин, руками админа - ведь данные поменялись, их соответственно кто-то должен ввести ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.02.2013, 19:27
|
|||
|---|---|---|---|
|
|||
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
sp, Я бы сделал дерево - страна-регион-...-город. В корне прописал бы дефолт, а если для допустим Дальнего Востока (исключительно как пример) есть свой дефолт, то там его прописать. Тогда поиск действующего кэфа для города делается очень быстро: идете по дереву от города вверх и первое же not NULL-значение - то что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.02.2013, 20:50
|
|||
|---|---|---|---|
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
Ennor Tiegaelsp, Я бы сделал дерево - страна-регион-...-город. В корне прописал бы дефолт, а если для допустим Дальнего Востока (исключительно как пример) есть свой дефолт, то там его прописать. Тогда поиск действующего кэфа для города делается очень быстро: идете по дереву от города вверх и первое же not NULL-значение - то что нужно. Во-первых, Вы забыли параметр для всех стран, а во-вторых, группирование (тип города) может осуществляться и по другому критерию. Как правило, применяют трехуровневую параметризацию по схеме "сущность-тип-система" 13874534 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2013, 08:04
|
|||
|---|---|---|---|
|
|||
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
Бредятина, Мне кажется несколько наивным предполагать возможность существования дефолта, подходящего для разных стран :) Но если так уж хотите, можете хранить его в глобальной таблице настроек или в самом верхнем, синтетическом узле. "Как правило, применяют" - это ваше личное правило? Да без проблем, мне-то что. ТС сам разберется, что ему больше подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2013, 09:24
|
|||
|---|---|---|---|
Исключения: или - тут читаем, тут не читаем, тут рыба лежала... |
|||
|
#18+
Ennor Tiegaelsp, Я бы сделал дерево - страна-регион-...-город. В корне прописал бы дефолт, а если для допустим Дальнего Востока (исключительно как пример) есть свой дефолт, то там его прописать. Тогда поиск действующего кэфа для города делается очень быстро: идете по дереву от города вверх и первое же not NULL-значение - то что нужно. Самое правильное решение. Главное дерево не делать сбалансированным, тогда вообще возможностям не будет предела ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=32&tablet=1&tid=1541376]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 353ms |

| 0 / 0 |
