Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Умк_Базы.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.2 Mб
Скачать

Области применения триггеров и хранимых процедур

Традиционные базы данных являются пассивными: объекты данных помещаются в базу данных пользователем или приложениями, выборка также осуществляется под воздействием внешних источников, бизнес-логика, применяемая к содержимому базы данных, также управляется из внешних источников. Традиционные ИС играют лишь организационную роль, направленную на обеспечение хранения данных, однако в настоящее время складывается тенденция активизации роли БД данных в информационных системах. Развитие этой тенденции нашло отражение в создании и развитии теории активных БД. Активные БД предполагают:

  • содержать логику обработку (в некоторой степени) в самой БД, управляемой СУБД, а не прикладным программными приложениями;

  • обеспечить некоторую форму мониторинга событий и условий, которые воздействуют на данные и могут инициировать обработку, управляемую БД;

  • включить в состав БД инструменты, при помощи которых события и условия обеспечивали бы запуск логики внутри самой БД (рис. 5.3). В создании активных сред помогают несколько основных конструкций баз данных: триггеры, ограничения и хранимые процедуры.

Рис. 5.3. Активная система баз данных

СУБД, которые поддерживают хранимые процедуры, т.е. программируемую логику, содержащуюся для выражения более сложных бизнес-правил. в базе данных, имеют дополнительные возможности. Хранимая процедура представляет собой программный код с той лишь разницей, что в случае активных баз данных, он относится к базе данных, а не к внешней процедуре.

Триггеры являются ключевыми компонентами, обеспечивающими превращение базы данных в активную среду. После выполнения операций удаления, изменения может быть запущен триггер, ассоциированный с некоторым объектом, который приведет в результате к вычислению бизнес-правил и к выполнению определенных действий. СУБД должна обладать средствами мониторинга среды, выявления условий, вызывающих запуск триггеров и выполнение процедурной логики, содержащейся в хранимых процедурах.

Вопросы для самопроверки по теме 5.2

1. Каковы основные функции оператора SELECT?

2. Какие варианты реализации DML существуют?

3. Что такое агрегатные функции?

4. Каковы основные этапы выполнения команды SELECT?

5. Чем различается выполнение команд Insert, Delete, Update?

6. Зачем нужны триггеры и хранимые процедуры?

7. Как осуществляется вызов триггеров и хранимых процедур?

8. К чему приводит выполнение команды COMMIT?

9. Для чего служат активные БД?

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

11. Назовите достоинства и недостатки SQL.

Резюме

В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с базой данных, начиная от ее создания и обеспечивающий базовый пользовательский интерфейс с базами данных. Наиболее популярным для реляционных СУБД является язык SQL, разработанный фирмой IBM и реализованный впервые в реляционной СУБД System R, а впоследствии и в коммерческой системе DB2. Другим примером языков этого класса могут служить: язык Quel системы Ingres, созданный Калифорнийским университетом, языковые средства большинства СУБД для персональных ЭВМ, например, язык dBase семейства СУБД фирмы Asthon - Tate и многочисленных совместимых с ним систем.

Некоторые СУБД располагают такими языками, которые не только реализуют функции определения и манипулирования данными, но и обладают управляющими структурами и другими средствами, свойственными традиционным языкам программирования. Такие языки называют автономными. В качестве примера приведем ранее упоминавшийся язык dBase, http://www.hotsoft.ru/ADS/ адаптированный к стилю клиент-серверной технологии.

Схема работы с разделом 6