- •Базы данных термины и определения
- •Меры противодействия
- •Элементы структур бд
- •Основные понятия субд
- •Классификация бд:
- •Информационно-логические подгруппы
- •Язык er-диаграмм
- •Классификация сущностей
- •Первичные и внешие ключи
- •Ограничения целостности
- •Требования к совокупности отношений
- •Цели проектирования реляционных бд
- •Универсальные отношения
- •Нормализация
- •Процедура нормализации.
- •Процедура проектирования
- •Пример проектирования бд библиотеки
- •Стандарт и реализация sql
- •Типы команд sql
- •Особенности языка sql
- •Запись sql операторов
- •Синтаксис языка
- •Типы данных языка
- •Операторы манипулирования таблицами
- •Понятие о языке MySql
- •Настройка и запуск MySql
- •Начало работы
- •Безопасность MySql
- •Регулирование прав доступа
- •Метки безопасности и принудительный контроль доступа
- •Поддержание целостности в субд
- •Примеры нарушения целостности бд
- •Атомарность
- •Ограничения целостности
- •Классификация ограничения целостности
- •Реализация декларативных нарушений в стандарте sql
- •Примеры средств контроля ограничения
- •Средства поддержания высокой готовности
- •Особенности аппаратной реализации отказоустойчивых систем
Метки безопасности и принудительный контроль доступа
Системы уровня безопасности В к каждой реляционной таблице добавляется столбец содержащий метки безопасности для строк таблицы. Метка безопасности состоит из следущие компонентов
Уровень секретности - смысл интерпретируется приложением, обычно применяется традиционный диапазон уровней секретности.
Категории - позволяет разделить данные на отдельные виртуальные таблицы, позволяющие регулировать доступ приложений и пользователя
Области - позволяет разделить исходную таблицу в соответствии с географическими или пространственными характеристиками
На соснове меток безопасности сопоставленных с правами отдельных пользователей они могут получить доступ к данным, если уровень благо надежности пользователя удовлетворяет требованиям метки безопасности. А именно: уровень секретности пользователя не ниже уровня секретности данных, набор категорий заданных в метке безопасности данных должен целиком соответствовать уровню благонадежности пользователя набор областей заданных в метках безопасности данных должен включать все области заданные в метке безопасности пользователя.
Поддержание целостности в субд
Зависит главным образом от возможных ошибок на аппаратном и программном уровнях и ошибок неквалифицированных пользователей определяется способностью средств системы предупреждать возникновение и устранить последствие данных ошибок.
Транзакция - неделимая с точки зрения результатов воздействия на СУБД, последовательность операций манипулирования данными. Транзакция переводит БД из одного разрежённого целостного состояния в другое. В обнопользовательских системах транзакцией является логические единицы работы после выполнения каждой из которых база данных остается в целостном состоянии. Транзакции в многопользовательских системах являются единицами восстановления то есть при переходе к целостным состояниям система ликвидирует следы транзакций, не успевших успешно завершиться в результате сбоя или рассинхронизации. В некоторых системах транзакция служит для обеспечения изолированной работы отдельных приложений или пользователей с одной БД.
Примеры нарушения целостности бд
Возникает при работе с не полностью нормализованными таблицами в которых существует функциональная зависимость между отдельными полями различных таблиц. В подобной системе нарушение целостности происходит при изменении количества в первой таблице до момента пересчета обеспеченности во второй. Действие не может быть выполнено одной операцией и предполагает для обеспечивания целостности выполнения следующих шагов
Установка флажка "начало операции" блокируется доступ к таблицам пользователя и для внешних приложений
Обновляется таблица 1
Пересчитывается значение для таблицы 2
Обновляется поле таблицы 2
Сбрасывается флажок, разрешается доступ
Последовательность действий является транзакцией, которая должна обладать следущими свойствами
Атомарность
Согласованность - возможность перевода из одного согласованного то есть целостного состояния в другое между которыми согласованность будет нарушаться
Изоляция - одновременно выполняемые транзакции различных пользователей не взаимодействуют друг с другом
Долговечность - если транзакция выполнена, то результатом ее работы должны сохраниться в базе данных и если в следующий момент произойдет сбой системы откат должен быть выполнен к ее результатам.
Транзакция начинается автоматически, обычнос момента присоединения пользователя к СУБД. Завершается транзакция при появлении следующих событий
Commit work завершает текущую транзакцию и автоматически начинает новую. Обеспечивает фиксацию результатов завешенной транзакции.
Rollback work - все изменения сделанные текущей транзакцией откатываются и автоматически начинается новая транзакция
Произошло отключение пользователя от СУБД. Происходит автоматическая фиксация транзакции
Сбой в системе при последующем запуске происходит анализ выполнившихся на момент сбоя транзакций, те транзакции для которых была подана команда commit work но результаты которых не были занесены в БД на момент сбоя выполняются снова. Транзакции для которых не была подана команда commit work откатываются.
Указанные свойства могут реализовываться в различных БД в различной объеме.