![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что такое тригер в БД и для чего он предназначен? [D7, 95/98]
Гость22 © (2005-09-15 21:55:00)И обязательно ли его исспользование?
Anatoly Podgoretsky (2005-09-16 10:53:00) [21]Гость22 (15.09.05 22:12) [2]
Так вопрос нужен по подробнее, пока ответ соответствует вопросу и дальнейшее требует уточнения с твоей стороны. Может тебе и той информации с избытком хватило.
Sergey13 (2005-09-16 10:44:00) [22]2[6] msguns © (16.09.05 10:16)
ИМХО цель у них одна - вынесение логики на сервер. Все остальное - побочные эфекты. 8-)
>Проблемным программистам не надо беспокоиться, КАК изменяемые им ОБЪЕКТЫ БД будут модифицированы в БД и даже в каких таблицах находятся его части,- все это за него опредедляет админ БД, в виде триггеров, ХП, представлений и т.д.
Какое отношение админ имеет к ХП и тригерам? В идеале он должен просто следить за их работоспособностью и все (не исключая рекомендаций программерам ессно). ИМХО.
msguns (2005-09-16 10:16:00) [23]Триггеры, как и хранимые процедуры, используют 2 основные цели:
1. Возможность написания сложных алгоритмов выборок или обновления данных (часто с задействованием большого кол-ва таблиц) "чисто на сервере", что делает программирование клиентских приложений, во-первых, языково (платформо) независимым, во-вторых существенно проще. К тому же для правки этих алгоритмов (бизнес-логики) не требуется никаких изменений в клиентском ПО. В солидных конторах имеется даже спец. "серверное" подразделение, в котором работают, как правило, одни сиквельщики (эскюэльщики). Проблемным программистам не надо беспокоиться, КАК изменяемые им ОБЪЕКТЫ БД будут модифицированы в БД и даже в каких таблицах находятся его части,- все это за него опредедляет админ БД, в виде триггеров, ХП, представлений и т.д.
2. Существенное снижение трафика и повышение скорости обработки данных. Т.к.все сложные многоступенчатые изменения (есть алгоритмы, за раз делающие изменения в десятках и даже сотнях таблиц БД) делаются собственно на сервере (т.е. не гоняются по сетке и не переписываются с винта на винт между ПК), клиентские приложения, запускаемые даже на небыстрых компах "летают". Особый эффект такое распределение нагрузки виден при наличии медленной сети или вообще при модемном коннекте.
Sergey13 (2005-09-16 09:18:00) [24]2[1] Anatoly Podgoretsky © (15.09.05 22:01)
Иногда и на другое.
2Гость22 (15.09.05 21:55)
Тригер нужен для запуска программы по событию в БД. Событием может быть как модификация данных DML так и (в некоторых БД) DDL или например открытие сессии или тому подобное.
Defunct (2005-09-16 06:53:00) [25]Гость22 (15.09.05 22:12) [2]
пример с автоинкрементом пойдет?
http://alexey-academic.newmail.ru/faq/db0087.html
Marser (2005-09-15 23:58:00) [26]В сновном, для реализации бизнес-правил на сервере.
Гость22 (2005-09-15 22:12:00) [27]а подробнее можно? (для новичков ведь)
Anatoly Podgoretsky (2005-09-15 22:01:00) [28]Выполнения дополнительных действий на сервере для INSERT/UPDATE/DELETE