|
|
|
Нужен алгоритм
|
|||
|---|---|---|---|
|
#18+
Может кто сталкиывался - есть объект у него несколко параметров - суть в том что есть значания етих параметров могут быть взаимоисключаемые - если параметр а =1 то параметр в не должен быть равен 3 - держать тавлицу всех запрещенных сочетаний уж както не хочется - тем более планируется добавление пользователем этих параметров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 11:29:29 |
|
||
|
Нужен алгоритм
|
|||
|---|---|---|---|
|
#18+
Добавлять пользователь будет куда? Однозначно таблица или структура таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 11:36:45 |
|
||
|
Нужен алгоритм
|
|||
|---|---|---|---|
|
#18+
Самое простое - алгоритм проверки вынести в SP. Для особого извращения можно организовать вызов этой процедуры из триггера на insert и update /что не очень грамотно :)/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 11:40:30 |
|
||
|
Нужен алгоритм
|
|||
|---|---|---|---|
|
#18+
Не очень понял вопрос, хочется жестко задать какие параметры не могут использоваться друг с другом? Ну триггер написать, если много вариантов всяких. Только добавят новый параметр, и че теперь для него опять триггер править? Мне бы лень было бы, лучше табличку взаимоисключений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 11:46:22 |
|
||
|
Нужен алгоритм
|
|||
|---|---|---|---|
|
#18+
2dkstranger: Для особого извращения можно организовать вызов этой процедуры из триггера на insert и update /что не очень грамотно :)/ - это почему-же не грамотно? По вашему более грамотно в каждую апликуху, что работает с БД вставлять такую проверку (пусть даже и через вызов SP)? Мне кажется вариант с триггером наиболее натуральным (хотя тут как кому больше нравится)... 2lvv: а кто сказал что триггер не может работать с таблицей взаимоисключений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 11:58:56 |
|
||
|
Нужен алгоритм
|
|||
|---|---|---|---|
|
#18+
По поводу неграмотности использования тригера Дело в том, что тригер запускается ВСЕГДА. Поэтому возникают серьезные проблемы, например, 1. При списочном изменении каскад изменений может в целом быть корректен, но блокироваться тригером на каждом шаге 2. При администрировании И т.д. и т.п. В целом - тригер проверяет не СОСТОЯНИЕ данных, а операции с ними... Более грамотно писать специальные интерфейсы работы с объектами (куды и засовывается бизнес-логика), и избавляться от прямой работы с данными :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 12:03:18 |
|
||
|
Нужен алгоритм
|
|||
|---|---|---|---|
|
#18+
По поводу алгоритма - если параметр а =1 то параметр в не может быть равет 3 но может быть равен 1 или другому значению Т.е. есть некие не допустимые значения набора параметров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 12:17:23 |
|
||
|
Нужен алгоритм
|
|||
|---|---|---|---|
|
#18+
2dao Для описания недопустимости значений у нас был разработан даже свой псевдоязык Типа для четных а) не может быть б) кратных 7... Мы даже "ранжировали" ограничения, например, по типу операции и правам доступа /при заведении счета допускались некоторые изменения, ктр блокируюися в дальнейшем, некоторые изменения разрешены только при подтверждении или согласовании с шефом и т.п./ Пример могу привести :) 2Nickolay Коля - прочти мое сообщение внимательно :) Мы не добавляем вызов каждой SP в каждое приложение. Это, действительно, неразумно... Дело в том, что никакое приложение не содержит напрямую insert, update или delete - все эти операции осуществляются через интерфейсы /SP-в простейшем случае/... Соответственно, все проверки и пр. НЕ ТРЕБУЮТ НИКАКИХ ИЗМЕНЕИЙ НИКАКИХ ПРИЛОЖЕНИЙ /если приложения с самого начала писались грамотно :)/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 12:36:41 |
|
||
|
Нужен алгоритм
|
|||
|---|---|---|---|
|
#18+
2dkstranger: НЕ ТРЕБУЮТ НИКАКИХ ИЗМЕНЕИЙ НИКАКИХ ПРИЛОЖЕНИЙ а я про это и не упоминал, если система построена правильно, базу можно вообще полностью поменять без изменения прикладухи. А про триггеры согласен, не всегда они подходят - так их же можно и снести на время выполнения некоторых операций... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 15:17:16 |
|
||
|
Нужен алгоритм
|
|||
|---|---|---|---|
|
#18+
2Nickolay Конечно, можно сносить... :) Жалко, что это делается постоянно :) И не решить даже уровнем доступа... Поэтому, часто целесообразнее просто не использовать /хотя, конечно, иногда тригера очень полезны, но не для задачи, вынесенной в топик/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2002, 15:41:52 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32055428&tid=1819845]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 340ms |

| 0 / 0 |
