Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Защита баз данных.doc
Скачиваний:
2
Добавлен:
29.04.2019
Размер:
356.35 Кб
Скачать

Ограничения целостности

Целостность обеспечивается декларативными и процедурными средствами поддержки. Декларативные принципы обеспечения целостности основывается на соблюдении формальных признаков характеризующих достоверную информацию.

Примеры ограничения целостности:

  1. Диапазон изменения числовых данных

  1. Наличие уникального поля

  1. Обязательное наличие связанной таблицы

  1. Непротиворечивость содержимого форм исходным данным.

  1. БД находится в согласованнлм, то есть в целостном состоянии, если все декларативные ограничения целостности соблюдаются. Данные полученные из подобной БД считаются корректными.

Для каждой БД оговариваются процедуры являющиеся как реакция на появление признаков нарушения целостности. В зависимости от особенностей процедур подразделяется на два вида

  1. Отказ от выполнение операции с некорректными данными

  1. Коррекция ранее выполнен ноги ошибочного действия

Классификация ограничения целостности

Ограничение делятся на классы в зависимости

  • По способам реализации

    • Декларативные

    • Процедурные - заключается в использовании триггеров и хранимых процедур. Хранимые процедуры обеспечивают изолированность выполнения действий пользователей и применяются для выполнения автономных транзакций и процедур восстановления при их неуспешном завершении. Процедуры обеспечивают либо немедленно проверяемые ограничения то есть могут изменять ход операции, способной нарушить ограничение непосредственно в момент ее выполнения. Ог

  • По времени проверки

    • С немедленной проверкой

    • С отложенной проверкой - реализуются в момент фиксации транзакции, если обнаруживается нарушение ограничения - транзакция - откатывается

  • По области действия

    • Ограничения домена. Сами по себе не проверяются, а накладываются на атрибуты домена. Обычно используются декларативные ограничения.

    • Ограничения атрибута совпадают или идентичны с целостность доменов. Может использоваться немедленная проверка атрибута.

    • Ограничения кортежа - представляют собой ограничения на допустимые значения отдельного кортежа, не являющийся ограничением атрибута то есть для его проверки не требуется никакой информации о других кортежных отношениях. Фактически является дополнительным ограничением на значение атрибута. В реальных БД наряду с базовыми атрибутами могут размещаться вычислимые атрибуты, уточняющие значение отдельных полей.

    • Ограничения отношения накладываются только на допустимые значения отдельного отношения и не являются ограничениями целостности кортежа. Для проверки отношения не требуется информации о других отношениях, в том числе не требуется ссылок по внешнему ключу.

    • Ограничения БД - представляют ограничения, накладываемые на значения двух и более связанных между собой отношениями.

Второй недостаток - при изменении логики вычислений необходимо заменять фрагменты программного когда многократно во всех формулах, используемых при вычислении на основе базовых атрибутов

Если возникает нерегламентируемый запрос, то пользователь должен самостоятельно создавать его на основе базовых атрибутов.

Преимущества второго подхода когда хранятся не только базовые но и значения

  • Запросы к БД более простые, так как содержит меньше формул

  • Проще формулировать нерегламентируемый запрос

  • И изменении логики вычислений изменения в формулы вносятся одно кратно для подготовки вычислимого атрибута.

  • Когда поддерживающие целостность кортежа хранятся в одном триггере

Недостатки

  • Структура становится сложной и запутанной

  • Увеличивается объем базы данных и трафика

  • При исчезновении необходимости в спользовании некоторых вы числимых атрибутов или появление новых требуется перестройка таблицы, что может быть нереально при работающей БД.