Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Нужен алгоритм / 10 сообщений из 10, страница 1 из 1
04.10.2002, 11:29:29
    #32055424
dao
dao
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен алгоритм
Может кто сталкиывался - есть объект у него несколко параметров - суть в том что есть значания етих параметров могут быть взаимоисключаемые - если параметр а =1 то параметр в не должен быть равен 3 - держать тавлицу всех запрещенных сочетаний уж както не хочется - тем более планируется добавление пользователем этих параметров
...
Рейтинг: 0 / 0
04.10.2002, 11:36:45
    #32055427
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен алгоритм
Добавлять пользователь будет куда? Однозначно таблица или структура таблиц.
...
Рейтинг: 0 / 0
04.10.2002, 11:40:30
    #32055428
dkstranger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен алгоритм
Самое простое - алгоритм проверки вынести в SP.
Для особого извращения можно организовать
вызов этой процедуры из триггера на insert и
update /что не очень грамотно :)/
...
Рейтинг: 0 / 0
04.10.2002, 11:46:22
    #32055434
lvv
lvv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен алгоритм
Не очень понял вопрос, хочется жестко задать какие параметры не могут использоваться друг с другом?
Ну триггер написать, если много вариантов всяких. Только добавят новый параметр, и че теперь для него опять триггер править? Мне бы лень было бы, лучше табличку взаимоисключений
...
Рейтинг: 0 / 0
04.10.2002, 11:58:56
    #32055444
Nickolay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен алгоритм
2dkstranger: Для особого извращения можно организовать
вызов этой процедуры из триггера на insert и
update /что не очень грамотно :)/

- это почему-же не грамотно? По вашему более грамотно в каждую апликуху, что работает с БД вставлять такую проверку (пусть даже и через вызов SP)? Мне кажется вариант с триггером наиболее натуральным (хотя тут как кому больше нравится)...

2lvv: а кто сказал что триггер не может работать с таблицей взаимоисключений?
...
Рейтинг: 0 / 0
04.10.2002, 12:03:18
    #32055447
dkstranger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен алгоритм
По поводу неграмотности использования тригера

Дело в том, что тригер запускается ВСЕГДА.
Поэтому возникают серьезные проблемы,
например,

1. При списочном изменении
каскад изменений может в целом быть
корректен, но блокироваться тригером
на каждом шаге
2. При администрировании

И т.д. и т.п.

В целом - тригер проверяет не СОСТОЯНИЕ данных,
а операции с ними...

Более грамотно писать специальные интерфейсы работы
с объектами (куды и засовывается бизнес-логика),
и избавляться от прямой работы с данными :)
...
Рейтинг: 0 / 0
04.10.2002, 12:17:23
    #32055454
dao
dao
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен алгоритм
По поводу алгоритма - если параметр а =1 то параметр в не может быть равет 3 но может быть равен 1 или другому значению Т.е. есть некие не допустимые значения набора параметров
...
Рейтинг: 0 / 0
04.10.2002, 12:36:41
    #32055463
dkstranger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен алгоритм
2dao

Для описания недопустимости значений
у нас был разработан даже свой псевдоязык
Типа для четных а) не может быть б) кратных 7...

Мы даже "ранжировали" ограничения, например,
по типу операции и правам доступа
/при заведении счета допускались некоторые
изменения, ктр блокируюися в дальнейшем,
некоторые изменения разрешены только при
подтверждении или согласовании с шефом и т.п./
Пример могу привести :)

2Nickolay
Коля - прочти мое сообщение внимательно :)
Мы не добавляем вызов каждой SP в каждое приложение.
Это, действительно, неразумно...
Дело в том, что никакое приложение не содержит
напрямую insert, update или delete - все эти операции
осуществляются через интерфейсы /SP-в простейшем
случае/... Соответственно, все проверки и пр.
НЕ ТРЕБУЮТ НИКАКИХ ИЗМЕНЕИЙ НИКАКИХ ПРИЛОЖЕНИЙ
/если приложения с самого начала писались грамотно :)/
...
Рейтинг: 0 / 0
04.10.2002, 15:17:16
    #32055549
Nickolay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен алгоритм
2dkstranger:
НЕ ТРЕБУЮТ НИКАКИХ ИЗМЕНЕИЙ НИКАКИХ ПРИЛОЖЕНИЙ
а я про это и не упоминал, если система построена правильно, базу можно вообще полностью поменять без изменения прикладухи. А про триггеры согласен, не всегда они подходят - так их же можно и снести на время выполнения некоторых операций...
...
Рейтинг: 0 / 0
04.10.2002, 15:41:52
    #32055564
dkstranger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен алгоритм
2Nickolay

Конечно, можно сносить... :)
Жалко, что это делается постоянно :)
И не решить даже уровнем доступа...
Поэтому, часто целесообразнее просто не использовать
/хотя, конечно, иногда тригера очень полезны,
но не для задачи, вынесенной в топик/
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Нужен алгоритм / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]