- •Эволюция субд
- •История развития реляционных субд в России.
- •Историческая тенденция в создании информационных систем
- •Реляционная модель данных
- •Основные понятия теории реляционных бд
- •Целостность бд
- •Структурированный язык запросов
- •Программирование приложений для субд
- •Эволюция серверов бд
- •Общие требования аис
- •Активный сервер (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-приложений.
Транзакции
Транзакция – последовательность SQL операторов, которые рассматривают как независимые действия на БД. Это основа поддерживания целостности БД. Транзакция может быть либо фиксирующаяся, либо откатывающаяся.
Откат транзакции – действие, обеспечивающее аннулирование всех изменений данных, которые были сделаны операторами SQL в теле текущей транзакции.
Фиксация транзакций – действие, обеспечивающее подтверждение всех изменений данных, которые были сделаны операторами SQL в теле текущей транзакции.
Свойство транзакции:
Атомарность (транзакция должна быть выполнена в целом или не выполнена вовсе)
Согласованность (по мере выполнения транзакции, данные переходят из одного согласованного состояния в другое)
Изолированность (конкурирующие за доступ к БД транзакции физически обрабатываются последовательно, изолированно друг от друга)
Долговечность (при успешно завершенной транзакции те изменения, которые были ею произведены не могут быть потеряны)
Пример транзакции:
Рассмотрим транзакцию. Изменить количество в заказе №113051 с 4 до 10, при чем стоимость заказа изменится с 140580 до 356000
Заказ на товар серии “НП456”, контролируется менеджером под №108,работающим в городе Твери (отдел №1)
Whenever error
Имя функции с командой Rollback work
Begin work
Update заказ
Set кол-во 10, стоимость _35500
Where № заказа _11305
Update менеджер
Set объем_продаж=объем продаж-140580+356000
Where № менеджера =108
Update отделение
Set объем_продаж=объем_продаж-140580+356000
Where №управления=21
Update товар
Set количество_на _складе=количество_на_складе-(10-4)
Where серия = НП456
Commit work
Модель транзакции стандарта ANSI/ISO включает операторы:
Commit – завершение транзакции, после чего стартует новая транзакция
Rollback – прервать транзакцию, отменить, изменить сделанные в рамках данной транзакции преобразования
В стандарте нет оператора begin. Транзакция начинается с оператора SQL, инициируемого пользователем или содержащегося в программе до завершения транзакции(commit). Другим пользователям видны данные на момент начала транзакции.
Модель транзакции Sybase
Включает операторы:
Begin transaction – начало транзакции
Commit transaction – завершение транзакции
Save transaction – сохраняет состояние БД и дает наименование моменту сохранения
Rollback to – имя момента сохранения, прервать транзакцию и произвести откат к состоянию БД, достигнутому к моменту начала транзакции.
Журнал транзакции
Это последовательность записей об изменении БД. Журнал предназначен для восстановления согласованного состояния БД в случае:
индивидуального отката транзакций (оператор Rollback) аварийное завершение работы приложения, взаимные блоки таблиц при параллельном выполнении транзакции.
мягкого сбоя – потери содержимого оперативной памяти (аварийное отключение питания, сбой процессора).
жестокого сбоя – потери информации, жестких дисков.
Общая структура журнала
Механизм журнализации и восстановления:
когда транзакция №1 начинается, то в журнал записывается №1 begin transaction
Для каждой изменяемой записи в рамках транзакции записывается “№1 уникальный_номер_записи, строка до…, строка после...” Затем изменяется запись в БД.
когда транзакция №1 заканчивается, то в журнал заносится – “№1 commit” аналогично для следующей транзакции.
Если после оператора SQL некоторой транзакции следовал Rollback или произошел сбой, то СУБД просматривает журнал, находит транзакцию без commit и восстанавливает данные на момент начала соответствующей транзакции.
