
- •Эволюция субд
- •История развития реляционных субд в России.
- •Историческая тенденция в создании информационных систем
- •Реляционная модель данных
- •Основные понятия теории реляционных бд
- •Целостность бд
- •Структурированный язык запросов
- •Программирование приложений для субд
- •Эволюция серверов бд
- •Общие требования аис
- •Активный сервер (3-поколение субд)
- •Процедуры бд
- •Правила (тригеры)
- •События в бд
- •Технология обработки данных в распределенных системах Технология распределения данных
- •Технология тиражирования данных
- •Сравнение технологий обработки данных в распределенной среде
- •Согласование субд – интерфейсов различных классов
- •Технология шлюзов Oracle.
- •Архитектура системы с использованием шлюза.
- •Механизм репликации oracle
- •Транзакции
- •Модель транзакции Sybase
- •Журнал транзакции
- •Механизм отката транзакций
- •Стерилизация транзакций
- •Распределенные транзакции.
- •Протокол двухфазной фиксации.
- •Уровни блокировки бд.
- •Блокировка баз данных.
- •Блокировка отношений.
- •Блокировка кортежей.
- •Блокировка страниц.
- •Требования к безопасности субд.
- •Привилегии доступа к отношению.
- •Существуют системные отношения.
- •Организация доступа к бд через прикладную программу.
- •Уровни изоляции данных при параллельном чтении.
- •Особенности при управлении доступом
- •Управление доступом к блокированным данным (informix)
- •Оптимизатор sql-запросов – компонента субд
- •Состав затрат времени на выполнение запроса
- •Оптимизатор Использует следующую информацию, которая хранится в системных отношениях:
- •Работа сервера с протоколированием плана запроса
- •Типовые приемы ускорения выполнения sql-запросов.
- •Способы доступа к записям Хеширование
- •Индексирование по первичному ключу.
- •Индексирование по вторичному ключу.
- •Организация индексных таблиц (случай одиночных записей в бд).
- •Технология взаимодействия объектов и программ.
- •Хранилища данных (Data Warehouse) и оперативный анализ данных (On Line Analytical Processing).
- •Современные Системы Поддержки Принятия Решений (сппр) используют:
- •Методика построения сппр
- •Разработка информационного обеспечения.
- •Свойства хранилища и витрин данных.
- •Многомерная модель данных.
- •Витрины, как многомерные модели данных
- •Средства построения аналитических систем.
- •Критерий выбора средства
- •Публикация бд в Интернет Характеристика Internet
- •Протоколы
- •Принципы работы в Internet
- •Технология работы приложения в сетях Intranet
- •Функции Web-сервера в Intranet
- •Интерфейс cgi
- •Пример сценария cgi.
- •Недостатки и достоинства использования cgi модулей.
- •Интерфейс Win cgi(реализация интерфейсаCgi для осWindows 3.1).
- •Интерфейс isapi/insapi.
- •Isapi фильтры.
- •Способы публикации б/д
- •Технологоя работы Web-приложения, использующего б/д.
- •Недостатки 2-ухуровневых Web-приложений.
Общие требования аис
Непротиворечивость правил обработки данных.
Высокая скорость реагирования на изменение «критичных» данных.
Высокая производительность обработки данных не стандартных типов.
Синхронизация работы нескольких модулей.
Хранение неструктурированных объектов большого объема.
Активный сервер (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);
События в бд
Назначение событий: синхронизация работы нескольких программ.
События прописываются в БД. Для них создаются флажки, состояние которых будут оповещать прикладные программы о том, что события имели место.
Схема использования событий
Механизм событий
В БД создается событие (CREATE DBEVENT).
Во все заинтересованные прикладные программы включается оператор: зарегистрировать событие (REGISTER DBEVENT).
Прикладные программы или хранимые процедуры могут вызвать событие оператором RAISE DBEVENT.
После наступления события зарегистрированная программа может получить его (GET DBEVENT) из очереди событий и запросить информацию о событии.
Пример использования событий
Ситуация в АСУ: рабочий инструмент нагревается до температуры свыше допустимой и д.б. отключен. Для использования механизма событий:
Создается событие Перегрев, которое будет вызвано, когда инструмент перегревается: CREATE DBEVENT Перегрев.
Создается хранимая процедура Отключить инструмент, которая вызывает событие Перегрев.
CREATE PROCEDURE Отключить_инструмент (номер_инструмента)
AS
BEGIN
UPDATE инструмент SET статус=’выкл’
WHERE номер=номер_инструмента;
RAISE DBEVENT Перегрев;
END;
Создается правило, которое применяется всякий раз , когда новое значение температуры инструмента заносится в таблицу Инструмент.
CREATE RULE Перегрев_инструмента
AFTER UPDATE (Температура) of Инструмент
WHERE NEW. Температура>=500
EXECUTE PROCEDURE Отключить_инструмент (номер_инструмента=инструмент.номер)
Создается прикладная программа Монитор событий, которая следит за состоянием инструментов:
…
EXEC SQL REGISTER DBEVENT Перегрев
…
EXEC SQL GET DBEVENT;
EXEC SQL INQUIRE_SQL(имя_события=DBEVENTNAME,…);
If (имя_события=”Перегрев”) then
EXECUTE PROCEDURE Отключить_инструмент (номер_инструмента=инструмент.номер);
Типы данных определяемые пользователем
Новые типы данных, операции над ними определяются как программы СИ + некоторые модули Ingres. Имя и размер нового типа данных хранятся в глобальной структуре, описывающей типы данных.
Обработка данных в распределенной системе
Распределенная система – система обработки данных, в которой отдельные функции обработки выполняются в различных узлах сети.
Аспекты сетевого взаимодействия в распределительных системах
Модель RDA
Принципы взаимодействия «клиент-сервер» в распределенной среде
Прозрачность расположения данных - данные могут быть перемещены из одного узла в другой без модификации текста программ.
Прозрачность сети – прозрачный доступ программ к удаленным данным в сети с разным аппаратным обеспечением и протоколами сетевого обмена. Программа связи и коммуникационный сервер должны поддерживать широкий диапазон сетевых протоколов: TCP/IP, DECNet, SNA, SPX/PX, NetBios.
Автоматическое преобразование форматов данных – в различных узлах могут быть 16, 32, 64 разрядные процессоры, разный порядок следования байт в слове, представление чисел с плавающей точкой и т.д.
Автоматическая трансляция кодов символов.
Межоперабельность – использование стандартных интерфейсов для обеспечения способности:
приложений, созданных для СУБД1 оперировать над данными СУБД2 (достигается использованием шлюзов);
СУБД, служить в качестве поставщика данных для других приложений, поддерживающих некоторый стандарт обращения к БД (достигается использование интерфейса ODBS).