Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bazy_dannykh_teoria_Avtosokhranenny.docx
Скачиваний:
52
Добавлен:
23.03.2015
Размер:
7.75 Mб
Скачать

15)Триггеры. Привести примеры.

Триггеры - это хранимые процедуры, связанные с некоторыми событиями, происходящими во время работы базы данных. В качестве таких событий выступают операции вставки, обновления и удаления строк таблиц. Если в базе данных определен некоторый триггер, то он запускается автоматически всегда при возникновении события, с которым этот триггер связан. Очень важным является то, что пользователь не может обойти триггер. Триггер срабатывает независимо от того, кто из пользователей и каким способом инициировал событие, вызвавшее запуск триггера. Таким образом, основное назначение триггеров - автоматическая поддержка целостности базы данных. Триггеры могут быть как достаточно простыми, например, поддерживающими ссылочную целостность, так и довольно сложными, реализующими какие-либо сложные ограничения предметной области или сложные действия, которые должны произойти при наступлении некоторых событий. Например, с операцией вставки нового товара в накладную может быть связан триггер, который выполняет следующие действия - проверяет, есть ли необходимое количество товара, при наличии товара добавляет его в накладную и уменьшает данные о наличии товара на складе, при отсутствии товара формирует заказ на поставку недостающего товара и тут же посылает заказ по электронной почте поставщику.

  • Фактически триггер — это специальный вид хранимой процедуры, которую SQL Server вызывает при выполнении операций модификации соответствующих таблиц.

  • Триггер автоматически активизируется при выполнении операции, с которой он связан.

  • Триггеры связываются с одной или несколькими операциями модификации над одной таблицей.

  • В СУБД Oracle определены два типа триггеров:

- триггеры, которые могут быть запущены перед реализацией операции модификации, они называются BEFORE-триггерами,

- триггеры, которые активизируются после выполнения соответствующей модификации, аналогично триггерам MS SQL Server, — они называются AFTER-триггерами.

CREATE [ OR REPLACE] TRIGGER <имя_триггера> BEFORE | AFTER

ON <имя_таблицы>

FOR { [INSERT] [,UPDATE] [, DELETE] }

FOR EACH ROW

WHEN (условие)

AS

SQL-операторы (Тело триггера)

16)Критерии успеха программного продукта.

#1 Реализованы ключевые функции системы

Это хороший критерий, который ориентирован на потребности заказчика получить качественный продукт. Как правило, у заказчика есть какой-то основной бизнес-процесс, который он хочет автоматизировать. Здесь нужно перечислить функции, без которых запуск системы будет нецелесообразным. Вы посмотрите, что на самом деле только половина запрошенного функционала по-настоящему влияет на успех проекта.

#2 Дата ввода в эксплуатацию

Все заказчики требуют соблюдения сроков. Забегая вперед, скажу, что срок всегда (!) важнее денег, потому что время нельзя заработать, а можно только потратить.

Время нельзя заработать, а можно только потратить

Заказчик любит устанавливать deadline и хочет, чтобы весь проект был завершен к такой-то дате. Здесь есть нюанс. Формулировкой «проект должен быть завершен к дд.мм.гггг» заказчик передает команде проекта все риски, связанные с нечеткой постановкой задачи, длительными согласованиями и принятием решений и т.п. Мой опыт говорит, что для Заказчика чаще важны одна или две контрольные вехи, чем срок завершения всего проекта. Поэтому в расписании проекта у меня вехи «система запущена в эксплуатацию» и «проект завершен» могут не совпадать друг с другом.

Поэтому успешность ИТ-проекта лучше измерять датой запуска продукта в эксплуатацию, чем сроком завершения всего проекта.

#3 Количество активных пользователей в системе

Очень хороший критерий, который позволяет проверить качество внедрения ИТ — системы.  Для того, чтобы проверить выполнение этого критерия потребуется провести аудит. Это хлопотно, но зато критерий очень показательный.

#4 Бюджет проекта не превышен

Слабый критерий, который не всегда корректно характеризует успех проекта

Бюджет проекта должен быть использован на 99%

Это связано с тем, что недоиспользование бюджета (очень большого бюджета) проекта говорит о том, что:

  • вы как руководитель проекта —плохой менеджер, так как не умеете планировать затраты.

  • эти деньги могли бы быть реинвестированы в другой проект или просто лежать на депозите в банке с гораздо меньшим риском. Отговорка, что вы сэкономили деньги в проекте, не сработает.

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

Соблюдение бюджета — хороший критерий, если в проекте участвует заемное финансирование.

#5 Совокупная эффективность основного и вспомогательного процессов

Это крайне важный критерий, суть которого в простой истине: мы должны сократить количество персонала, выполняющего автоматизируемые операции, но так, чтобы служба ИТ-поддержки увеличилась обоснованно или не увеличилась совсем.