powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тригеры или хранимые процедуры ... ?
9 сообщений из 34, страница 2 из 2
Тригеры или хранимые процедуры ... ?
    #32041993
AlexP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to GreenSunrise

Забыть триггер можно совершенно запросто, как и процедуру, и таблицу. Все мы ошибаемся. Только если забыть таблицу, сразу появится ругань, а триггер - есть он или нет - сразу не видно.
...
Рейтинг: 0 / 0
Тригеры или хранимые процедуры ... ?
    #32042034
Фотография MarchCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да точно! про бизнес-логику я и позабыл!
(а стадо слонов я и не приметил) :(((

Так вот: перед созданием БД: (по каждому пункту есть куча толстенных книжек)

1. Бизнес проект
2. Алгоритм поведения предприятия
2.1 Пути сбора информации
2.2 Сбор информации
2.3 Размещение информации
2.3.1 Фильтрация информации
2.3.2 Уникальность информации
2.3.3 ссылочная целостность информации
2.3.4 и еще одна (забыл какая)

Так вот при размещении информации применяются правила
и фильтры, а так же дефаулты. тонкость в том, что правило одно на таблицу, а фильтров и дефаултов сколько полей.
Ключи, это тоже часть бизнес логики - отвечают за уникальность. Триггеры - это основное ~мобильное~ средство поддерживания бизнес правил и целостной логики поведенья!!!
Если Вы планируете большую и !умную! БД то должны максимально использоваться триггеры т.к. триггер освобождает от рутины и тупых действий. Вот в этом зерно!!! А то как он работает ... быстро или не очень быстро это к конкретному криворукому программеру. :))))
...
Рейтинг: 0 / 0
Тригеры или хранимые процедуры ... ?
    #32042041
Dominic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2MarchCat
Отлично сказано ("мобильность", "криворукость")! Мне в тригерах больше всего нравится именно мобильность - наглядно оформленные в виде коментированного/документированного кода бизнес-правила, сконцентрированные в одном месте - теле тригера. Насчет "тормознутости" системы с тригерами - а будьте аккуратны, пожайлуста, при программировании тригера - с курсорами, операциями с другими таблицами и все такое.
По поводу "скрытости" тригеров, по сравнению с SP (эта по ходу обсуждения классифицируется как минус тригеров) - полезность этого качества №2 - представьте, что вам поручено разработать только серверную часть приложения, а клиентскую - кто-то другой. Самим, небось, кое-что спрятать захочется. Как иллюстрация, пример: расширения клиентских частей приложений при помощи таких средств, как проекты ACCESS (а что, клевые отчеты лабать можно). Такие задачи Вам, такому уважаемому и занятому DBA, решать как-то не с руки. А количество ваяющих на VBA сейчас можно сравнивать с тараканами...
...
Рейтинг: 0 / 0
Тригеры или хранимые процедуры ... ?
    #32042059
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не согласен с тем, что триггеры это всегда тормоза, а также что это очень уж плохо.
опять же надо смотреть, насколько часто и насколько большие объемы данных вливаются в таблицу. от этого и плясать.
а то, что на них можно повесить кучу административной работы типа протоколирования, оповещения и т.п., не говоря уже о непосредственных изменениях данных, делает триггеры на мой взгляд очень удобным инструментом при создании бизнес-логики.

забыть про триггер можно лишь в том случае, если система не разрабатывалась/воплощалась в код самостоятельно. Но в любом мало-мальски сложном проекте всегда "рисуются" потоки данных, а так же модификация этих данных на разных стадиях. Кроме того должна быть документация по проекту. Если этого нет, то тогда это уже указывает не на слабости триггеров, а на слабости программистов.
...
Рейтинг: 0 / 0
Тригеры или хранимые процедуры ... ?
    #32042062
Фотография MarchCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А мы об этом и балакаем :)
...
Рейтинг: 0 / 0
Тригеры или хранимые процедуры ... ?
    #32042281
Genady_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как выглядят ограничения на уровне колонки и таблицы мне понятно, нельзя ли поподробнее рассказать как в DB2 задаются ограничения на уровне СУБД.

К сожалению цитирую себя сам, судя по всему я недостоин ответа. Скажите мне LeVo, что такое в реляционной теории ограничения на уровне столбца? (Может атрибута тогда уж?) А что такое ограничения на уровне таблицы? (Или отношения). Ну, ограничения на уровне БД я еще как то мог бы представить, но что такое ограниченя на уровне СУБД, соблаговолите все же объяснить раз уж начали, а то я тоже туману псевдонаучного могу напустить.
...
Рейтинг: 0 / 0
Тригеры или хранимые процедуры ... ?
    #32042346
ТГ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разрешите поделится опытом?

Вначале проект делался примерно так (не буду вдаряться ) в подробности, но при проведении "проводок", шел некоторый , назовем его "бизнес - процесс" , который выполнялся в теле триггера.
Все вроде ничего, тормозов особо сильных не наблюдалось, во всяком случае нас и клиента устраивало.

Но был один режим - восстановление остатков, фактически восстановление базы , но из быкапа, а путем перепроводки.

Вот тут , сервер , на 1 млн. записей, честно отработав 75%
падал из - за нехватки памяти. Банально.
Дело в том, что внутри тиггеров открывался курсор (и закрывался и деаллоцировался, все по уму).
Но очевидно, память за собой не подчищал. Я только на голове не стоял, чтобы избавится от этого эффекта.

Выход - написал процедурку(точнее 2), куда перенес всю обработку из 3 триггеров одной таблицы: выигрыш - по производительности, немного но приятно; перестало расти выделение памяти, просто нет и все.

Вот такой эффект имеем.
...
Рейтинг: 0 / 0
Тригеры или хранимые процедуры ... ?
    #32042779
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 all

Люди, есть здесь знатоки DB2? Объясните мне плиз что такое ограничения на уровне СУБД, а то судя по всему LeVo меня игнорирует, либо сказать ему(ей) нечего.
Это что, можно накладывать ограничения на данные в зависимости от данных в другой БД, или можно указать СУБД когда целостность проверять а когда нет?
...
Рейтинг: 0 / 0
Тригеры или хранимые процедуры ... ?
    #32044724
rommi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даа, большой топик!
Решение о использовании триггеров или хп лежит на разработчике, если к твоей базе лезут из excel, мордодрома, access и еще бог знает чего (особенно с правами владельца) то рано или поздно что-нить не то изменят, удалят и т.п. С помощью триггеров и простенькой таблички аудита, ты всегда себя прикроешь.
Что касается выражения "забыл триггер", дык тогда дело не в триггерах, а в голове. Да, кстати, юзер меняющий данные в какой-то таблице понятия может не иметь о хранимых процедурах, и не знать о триггере, но второй-всегда отработает.
Констрэйнты не применяю, по причине неудобства использования их на этапе отладки. (Да и вобще, триггер когда надо можно отключить).
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тригеры или хранимые процедуры ... ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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