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

2. Основные понятия

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

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

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

Обычно принято связывать зарождение идеи активных баз данных с появлением концепции триггера - механизма, впервые предложенного в исследовательском проекте System R компании IBM. Поддержка концепции триггера предусматрива­лась в языке этой системы SEQUEL (впоследствии названном SQL), специфи­кации которого были опубликованы первоначально в 1975 г. Однако ради истори­ческой справедливости следует заметить, что идея триггеров была гораздо ранее воплощена в языке определения данных CODASYL (хотя термин "триггер" тог­да еще и не употреблялся).

Начиная уже с версии этого языка, опубликованной в 1971 г. в нем предусматривалась поддержка концепции процедуры базы данных, которая может ассоциироваться с различными объектами базы данных в специ­фикациях схемы - с областями базы данных, с записями, элементами данных, на­борами.

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

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

Принципы активных систем баз данных

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

Рис. 1. Пассивные системы баз данных

С другой стороны, активные системы баз данных предусматривают возможно­сти, позволяющие:

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

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

  • включать в систему базы данных также некоторое средство, с помощью кото­рого эти события и условия могли бы запускать логику внутри базы данных.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]