- •Базы данных
- •1. Введение
- •1.1. Информация, данные, знания. Терминология
- •1.2. Автоматизированная информационная система
- •1.3. Предметная область информационной системы
- •1.4. Назначение и основные компоненты системы баз данных
- •1.5. Уровни представления данных
- •2. Основные модели данных
- •2.1. Понятие модели данных
- •2.2. Сетевая модель данных (смд)
- •2.3. Иерархическая модель данных (имд)
- •2.4. Реляционная модель данных (рмд)
- •2.5. Другие модели данных
- •3. Элементы проектирования баз данных
- •3.1. Инфологическое проектирование
- •1. Функциональный подход к проектированию бд.
- •2. Предметный подход к проектированию бд.
- •3. Проектирование с использованием метода "сущность–связь".
- •3.2. Определение требований к операционной обстановке
- •3.3. Выбор субд и инструментальных программных средств
- •3.4. Логическое проектирование бд
- •3.5. Физическое проектирование бд
- •3.6. Автоматизация проектирования бд
- •3.7. Особенности проектирования реляционных бд
- •4. Системы управления базами данных
- •4.1. Классификация субд
- •4.2. Основные функции субд
- •4.3. Логическая и физическая целостность бд
- •4.4. Администрирование бд
- •4.5. Словари-справочники данных
- •5. Физическая организация данных
- •5.1. Механизмы среды хранения и архитектура субд
- •5.2. Пространство памяти и размещение хранимых данных
- •5.3. Структура хранимых данных
- •5.4. Виды адресации хранимых записей
- •5.5. Организация связей между хранимыми записями
- •6. Механизмы размещения данных и доступа к данным
- •6.1. Способы доступа к записям
- •6.2. Индексирование данных
- •6.3. Хеширование
- •6.4. Кластеризация данных
- •7. Организация параллельного доступа к данным
- •7.1. Механизм транзакций
- •7.2. Взаимовлияние транзакций
- •7.3. Уровни изоляции транзакций
- •7.4. Блокировки
- •8. Специальная обработка базы данных
- •8.1. Обеспечение целостности данных
- •8.2. Обеспечение защиты данных
- •9. Перспективы развития технологии баз данных
4.3. Логическая и физическая целостность бд
Поддержка логической целостности БД при модификации данных осуществляется с помощью механизма транзакций.
Транзакция – это последовательность операций над БД, рассматриваемых СУБД как единое целое. Это означает следующее: либо успешно выполняются все составляющие транзакцию операции и СУБД фиксирует результат их выполнения (команда COMMIT), либо происходит откат всей транзакции (команда ROLLBACK) и все изменения отменяются. При таком подходе каждая операция модификации данных (или группа взаимосвязанных операций) рассматриваются системой как логически неделимая операция.
Особенно важен механизм транзакций для многопользовательских систем. То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает очень удобным использование понятия транзакции как единицы активности пользователя по отношению к БД.
Одно из основных требований к СУБД – надежное хранение данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии автоматически восстановить последнее согласованное состояние БД после аппаратного или программного сбоя, в результате которых может быть нарушена логическая и/или физическая целостность данных. Для восстановления БД необходимо располагать некоторой дополнительной информацией. Наиболее распространённый метод поддержания такой избыточной информации – ведение журнала регистрации изменений.
Журнал регистрации изменений (журнал транзакций) – это часть БД, недоступная пользователям СУБД и поддерживаемая особо тщательно (иногда ведутся две копии журнала, хранимые на разных физических носителях). В журнал поступают все сведения обо всех изменениях основной части БД. Форма записи в журнал изменений зависит от СУБД. Это может быть порция данных, измененная в результате выполнения логической операции над данными, или, например, в результате минимальной внутренней операции модификации страницы (блока) внешней памяти.
Внесение изменений в журнал всегда носит опережающий характер по отношению к записи изменений в основную часть БД (протокол WAL – Write Ahead Log). Эта стратегия заключается в том, что запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем изменённый объект попадёт во внешнюю память основной части БД. Если СУБД корректно соблюдает протокол WAL, то с помощью журнала транзакций можно решить все проблемы восстановления БД после сбоя, не препятствующего дальнейшему функционированию системы, например, после сбоя приложения или фонового процесса СУБД.
Примечание.Существуют сбои, после которых база данных не может быть восстановлена автоматически. Например, сбой записи на диск относится к таким фатальным ошибкам. Восстановление БД после фатального сбоя требует использования дополнительных системных средств и участия человека.
4.4. Администрирование бд
Основные задачи администрирования БД – обеспечение надежного и эффективного функционирования системы БД, адекватности содержания БД информационным потребностям пользователей, отображения в БД актуального состояния ПО.
Администрирование БД возлагается на администратора (или персонал администрирования, если система БД велика). В задачи администратора входит выполнение нескольких групп функций:
1. Администрирование предметной области: поддержка представления БД на концептуальном уровне архитектуры СУБД (общем для всех приложений); адекватное отображение в БД изменений, происходящих в ПО. Последнее требование может подразумевать реструктуризацию (изменение схемы) БД и последующее приведение содержимого БД в соответствие с новой схемой.
2. Администрирование БД: поддержка представления БД в среде хранения, эффективная и надежная эксплуатация системы БД. Если на этом уровне проводится реорганизация БД (с целью повышения эффективности работы), то она заключается в следующем:
изменения в структуре хранимых данных, например, выведение в отдельную таблицу редко используемых данных;
изменения способов размещения данных в пространстве памяти, например:
разбиение таблицы на части для распределения её по различным физическим носителям с целью распараллеливания доступа к ней;
построение кластеров;
изменение физических параметров среды хранения, например, размера блока.
изменения используемых методов доступа к данным, например, построение индексов или введение хеширования.
1. Администрирование приложений: поддержка представлений БД для различных групп пользователей механизмами внешнего уровня СУБД. При изменении концептуальной схемы БД или схемы хранения может потребоваться внесение соответствующих изменений в приложения.
2. Администрирование безопасности данных: предоставление пользователям прав на доступ к БД и настройка системных средств защиты от несанкционированного доступа.
В состав СУБД обычно включаются вспомогательные средства (различные утилиты), упрощающие администрирование БД.