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

Общие требования аис

  • Непротиворечивость правил обработки данных.

  • Высокая скорость реагирования на изменение «критичных» данных.

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

  • Синхронизация работы нескольких модулей.

  • Хранение неструктурированных объектов большого объема.

Активный сервер (3-поколение субд)

Знания о предметной области в современной СУБД оформляются как объекты БД и хранятся на сервере. Концепция активного сервера опирается на 4 элемента:

  • Процедуры БД (хранимые процедуры)

  • Правила (тригеры)

  • События в БД

  • Типы данных, определенные пользователем.

Процедуры бд

Процедуры БД реализуют прикладные функции системы. Процедуры хранятся в БД на сервере и контролируются администратором БД, она имеет параметры и возвращает значение. Процедуры БД создаются оператором CREATE PROCEDURE и содержат:

  • Определение переменных;

  • Операторы SQL (SELECT, INSETR, UPDATE, DELETE);

  • Операторы проверки условия (if), цикла (for, while)…

Процедуры БД позволяют:

  • Администратор централизованно контролирует доступ к БД

  • Сокращает время написания программы и объемы пользовательских модулей;

  • Единожды формируются оптимальные планы запросов;

  • Сократить трафик пути;

  • Организовать поддержку целостности БД.

Пример:

Вызов:

execute procedure Назначение (номер_сотрудника)

Процедура:

Create Procedure Назначение (номер_сотрудника integer not null)

Insert into резерв (select * from сотрудник where номер=номер_сотрудника);

Delete from сотрудник where номер=номер_сотрудника;

End procedure;

Процедура Назначение перемещает сотрудника из таблицы Сотрудник, содержащей сведения ор сотрудниках, в таблицу Резерв для сотрудника с указанным номером.

Правила (тригеры)

Правила хранятся в БД. Правила прикрепляются к таблице и позволяют:

  • Программировать обработку ситуаций на любое изменение одного или нескольких атрибутов;

  • Поддерживать целостность по ассоциациям между отношениями при включении, удалении и обновлении строк.

Пример:

Create trigger del_vedomost delete on Vedomost

  • перед удалением запоминаем начальное время

befor

execute procedure add_irnl (‘begin delete’, USER, CURRENT);

  • для каждой удаляемой строки запоминается первичный ключ

for each row (execute procedure put_delete (‘vedomost’, ‘nzap_ved’, old.nzap_ved));

  • после удаления запоминаем время

after

execute procedure add_irnl(‘end delete’, USER, CURRENT);

События в бд

Назначение событий: синхронизация работы нескольких программ.

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

Схема использования событий

Механизм событий

  1. В БД создается событие (CREATE DBEVENT).

  2. Во все заинтересованные прикладные программы включается оператор: зарегистрировать событие (REGISTER DBEVENT).

  3. Прикладные программы или хранимые процедуры могут вызвать событие оператором RAISE DBEVENT.

  4. После наступления события зарегистрированная программа может получить его (GET DBEVENT) из очереди событий и запросить информацию о событии.

Пример использования событий

Ситуация в АСУ: рабочий инструмент нагревается до температуры свыше допустимой и д.б. отключен. Для использования механизма событий:

  1. Создается событие Перегрев, которое будет вызвано, когда инструмент перегревается: CREATE DBEVENT Перегрев.

  2. Создается хранимая процедура Отключить инструмент, которая вызывает событие Перегрев.

CREATE PROCEDURE Отключить_инструмент (номер_инструмента)

AS

BEGIN

UPDATE инструмент SET статус=’выкл’

WHERE номер=номер_инструмента;

RAISE DBEVENT Перегрев;

END;

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

CREATE RULE Перегрев_инструмента

AFTER UPDATE (Температура) of Инструмент

WHERE NEW. Температура>=500

EXECUTE PROCEDURE Отключить_инструмент (номер_инструмента=инструмент.номер)

  1. Создается прикладная программа Монитор событий, которая следит за состоянием инструментов:

EXEC SQL REGISTER DBEVENT Перегрев

EXEC SQL GET DBEVENT;

EXEC SQL INQUIRE_SQL(имя_события=DBEVENTNAME,…);

If (имя_события=”Перегрев”) then

EXECUTE PROCEDURE Отключить_инструмент (номер_инструмента=инструмент.номер);

Типы данных определяемые пользователем

Новые типы данных, операции над ними определяются как программы СИ + некоторые модули Ingres. Имя и размер нового типа данных хранятся в глобальной структуре, описывающей типы данных.

Обработка данных в распределенной системе

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

Аспекты сетевого взаимодействия в распределительных системах

Модель RDA

Принципы взаимодействия «клиент-сервер» в распределенной среде

  1. Прозрачность расположения данных - данные могут быть перемещены из одного узла в другой без модификации текста программ.

  1. Прозрачность сети – прозрачный доступ программ к удаленным данным в сети с разным аппаратным обеспечением и протоколами сетевого обмена. Программа связи и коммуникационный сервер должны поддерживать широкий диапазон сетевых протоколов: TCP/IP, DECNet, SNA, SPX/PX, NetBios.

  1. Автоматическое преобразование форматов данных – в различных узлах могут быть 16, 32, 64 разрядные процессоры, разный порядок следования байт в слове, представление чисел с плавающей точкой и т.д.

  2. Автоматическая трансляция кодов символов.

  1. Межоперабельность – использование стандартных интерфейсов для обеспечения способности:

    • приложений, созданных для СУБД1 оперировать над данными СУБД2 (достигается использованием шлюзов);

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

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