Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Корпоротивные ИС.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
442.37 Кб
Скачать

16. Триггеры в ms sql Server. Использование триггеров. Правила использования триггеров. Принцип работы триггеров

Триггеры.

Особенный тип хранимой процедуры автоматически выполняемый при изменении данных в защищенной таблице. Бывают следующих типов:

  • срабатывает при вставке в таблицу;

  • срабатывает при изменении в таблице;

  • срабатывает при удалении из таблицы.

Вызов происходит неявным способом, не используя специальные команды.

Каждый триггер определяется для конкретной таблицы. Каждый триггер выполняется как единая транзакция даже без явного задания триггера. Возможно использование нескольких операторов RollBack.

Использование триггеров.

  1. При использовании каскадного изменения данных в связанных таблицах.

  2. Когда недостаточно ограничения целостности.

  3. Когда необходимо создать и вывести сообщение об ошибках.

  4. Когда становится возможной поддержка денормализованных данных.

Правила использования триггеров.

  1. Срабатывает сразу же после некоторого действия в отличии от ограничений.

  2. Срабатывает при выполнении трех операторов insert, delete, update.

  3. Перед выполнением транзакций происходит проверка операторов ограничений.

  4. Для одной операции в таблице может быть определенно несколько триггеров. В случае нескольких операторов (триггеров) порядок не задается.

  5. Нельзя создавать для временных таблиц и представлений. Но можно использовать при обращении к временным таблицам.

  6. Не должны возвращать наборы результатов.

  7. Может обрабатывать действия затрагивающие несколько записей. Определить количество с помощью функции @@rowcount.

  8. Создание при помощи Transact SQL следующим образом:

create trigger имя

on имя_таблицы

{for {insert/delete/update}}

As

тело триггера

  1. Не может включать операции create/alter/drop. Предоставляет доступ и возможность создания учетных записей.

  2. Просмотр при помощи хранимых процедур.

Sp_helptext имя_триггера выводит код триггера в случае если не защищено

Sp_depends имя_триггера выводит список родительских объектов

Sp_helptrigger имя_триггера выводит список триггеров для данной таблицы

Изменение триггеров при помощи Alter. Удалении при помощи Drop.

Принцип работы триггеров.

Insert:

Последовательность выполнения такова – оператор Insert выполняется в таблице с триггером Insert; выполнение оператора Insert регистрируется в журнале; триггер срабатывает и выполняет его операторы; новые записи добавляются в таблицу триггера и таблицу Insert вставок. Таблица вставок – логическая таблица с копиями. Таблица вставок хранит все изменения оператора Insert. Позволяет ссылаться на вставленные данные в соответствующем триггере. Триггер Insert исполняется как единая транзакция, выполняется быстрее, чем хранимая процедура или команды SQL.

17. Объектная модель asp.Net

ASP.NET — технология создания Web-приложений и Web-сервисов от компании Microsoft. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP.

Класс Page является базовым для классов создаваемых страниц.

Когда ASP.NET загружает страницу в память сервера, она создает объект, порожденный от класса Page. Одновременно создаются внутренние объекты и их имена становятся свойствами объекта класса Page.

В эти объекты записывается информация, важная для управления всей страницей.

Внутренние объекты ASP.NET в составе класса Page:

  • Application. Содержит информацию о состоянии приложения, в виде словаря данных имя=значение, глобальных для всего приложения.

  • Cache. Следит за приоритетностью и устареванием элементов. Объект Cache также хранит глобальную информацию, но предоставляет более динамичный механизм хранения, поскольку ASP.NET может удалять в нем часть информации при нехватке памяти сервера.

  • Request. Этот объект представляет значения и свойства HTTP-запроса, вызвавшего загрузку страницы. Он содержит все параметры URL и другую информацию, отправляемую клиентом.

  • Response. Осуществляет отправку ответа клиенту. Этот объект содержит информацию и методы формирования ответа Web-сервера на запрос клиента.

  • Server. Предоставляет вспомогательные методы для отправки Web-запросов.

  • Session. Предназначен для хранения любого типа пользовательских данных, который должен постоянно существовать между запросами Web-страниц. Он предоставляет словарный доступ к набору пар имя=значение, содержащему пользовательские данные текущего сеанса.

  • Trace. Осуществляет трассировку выполнения страницы.

  • User. Содержит информацию о пользователе, запрашивающем Web-сервер, и позволяет проверить принадлежность этого пользователя к роли.

Основные объекты форм:

  • Label – позволяет отобразить текст

  • Listbox – список выбора

  • Textbox – поле редактирования

  • Hiddenfield – передача скрытых данных

  • RadioButtonList – переключатель, список переключателей

  • CheckBoxList – флажок, список флажков

  • Button – командная кнопка

  • Image - изображение

  • ImageButton – кнопка-изображение

  • Table - таблица

  • Panel - контейнер

  • BulletedList – маркированный список

  • HyperLink – гиперссылка