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