🗊Презентация Управление целостностью данных. (Лекция 5)

Категория: Информатика
Нажмите для полного просмотра!
Управление целостностью данных. (Лекция 5), слайд №1Управление целостностью данных. (Лекция 5), слайд №2Управление целостностью данных. (Лекция 5), слайд №3Управление целостностью данных. (Лекция 5), слайд №4Управление целостностью данных. (Лекция 5), слайд №5Управление целостностью данных. (Лекция 5), слайд №6Управление целостностью данных. (Лекция 5), слайд №7Управление целостностью данных. (Лекция 5), слайд №8Управление целостностью данных. (Лекция 5), слайд №9Управление целостностью данных. (Лекция 5), слайд №10Управление целостностью данных. (Лекция 5), слайд №11Управление целостностью данных. (Лекция 5), слайд №12Управление целостностью данных. (Лекция 5), слайд №13Управление целостностью данных. (Лекция 5), слайд №14Управление целостностью данных. (Лекция 5), слайд №15Управление целостностью данных. (Лекция 5), слайд №16Управление целостностью данных. (Лекция 5), слайд №17Управление целостностью данных. (Лекция 5), слайд №18Управление целостностью данных. (Лекция 5), слайд №19Управление целостностью данных. (Лекция 5), слайд №20Управление целостностью данных. (Лекция 5), слайд №21Управление целостностью данных. (Лекция 5), слайд №22Управление целостностью данных. (Лекция 5), слайд №23Управление целостностью данных. (Лекция 5), слайд №24Управление целостностью данных. (Лекция 5), слайд №25

Содержание

Вы можете ознакомиться и скачать презентацию на тему Управление целостностью данных. (Лекция 5). Доклад-сообщение содержит 25 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Лекция №5
Управление целостностью данных
Ст. преподаватель 
каф. КИБЭВС
М.А. Сопов
Описание слайда:
Лекция №5 Управление целостностью данных Ст. преподаватель каф. КИБЭВС М.А. Сопов

Слайд 2





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

Слайд 3





Null – значения
Null – значения
Null-значение – это не нулевое значение конкретного поля, а некоторый маркер, позволяющий определить что данное значение на конкретный момент времени не известно.
Описание слайда:
Null – значения Null – значения Null-значение – это не нулевое значение конкретного поля, а некоторый маркер, позволяющий определить что данное значение на конкретный момент времени не известно.

Слайд 4





При появлении неизвестных или неполных данных разработчик имеет два варианта решения:
При появлении неизвестных или неполных данных разработчик имеет два варианта решения:
Не использовать Null-значения, а вместо него договориться об определенном значении поля, показывающем на данное свойство.
Проблема: не все данные равноправны, необходим дополнительный специальный код, отслеживающий такие ситуации. 
Следствие – усложняется разработка и сопровождение приложений.
Описание слайда:
При появлении неизвестных или неполных данных разработчик имеет два варианта решения: При появлении неизвестных или неполных данных разработчик имеет два варианта решения: Не использовать Null-значения, а вместо него договориться об определенном значении поля, показывающем на данное свойство. Проблема: не все данные равноправны, необходим дополнительный специальный код, отслеживающий такие ситуации. Следствие – усложняется разработка и сопровождение приложений.

Слайд 5





При появлении неизвестных или неполных данных разработчик имеет два варианта решения:
При появлении неизвестных или неполных данных разработчик имеет два варианта решения:
2. Использование Null-значений вместо неизвестных данных. 
Проблема.  Использование трехзначной логики при оперировании данными содержащими такие значения.
 Следствие – аккуратное формулирование запросов.
Описание слайда:
При появлении неизвестных или неполных данных разработчик имеет два варианта решения: При появлении неизвестных или неполных данных разработчик имеет два варианта решения: 2. Использование Null-значений вместо неизвестных данных. Проблема. Использование трехзначной логики при оперировании данными содержащими такие значения. Следствие – аккуратное формулирование запросов.

Слайд 6





Трехзначная логика
Трехзначная логика
Т.к. Null – значение, обозначает неизвестное значение , то при проведении алгебраических операций (сложение, умножение, конкатенация строк и т.д.) должно давать так же неизвестное значение.
T – true
F – false
U – неизвестное значение
Описание слайда:
Трехзначная логика Трехзначная логика Т.к. Null – значение, обозначает неизвестное значение , то при проведении алгебраических операций (сложение, умножение, конкатенация строк и т.д.) должно давать так же неизвестное значение. T – true F – false U – неизвестное значение

Слайд 7







Парадокс 1. Null-значение не равно самому себе. Действительно, выражение null не равно null дает значение не ИСТИНА, а НЕИЗВЕСТНО. Значит выражение х не равно х не обязательно ИСТИНА!
Описание слайда:
Парадокс 1. Null-значение не равно самому себе. Действительно, выражение null не равно null дает значение не ИСТИНА, а НЕИЗВЕСТНО. Значит выражение х не равно х не обязательно ИСТИНА!

Слайд 8





Парадокс 2. Неверно также, что null-значение не равно самому себе! Действительно, выражение null не равно null также принимает значение не ИСТИНА, а НЕИЗВЕСТНО! Значит также, что и выражение х не равно х тоже не обязательно ЛОЖЬ!
Парадокс 2. Неверно также, что null-значение не равно самому себе! Действительно, выражение null не равно null также принимает значение не ИСТИНА, а НЕИЗВЕСТНО! Значит также, что и выражение х не равно х тоже не обязательно ЛОЖЬ!
Парадокс 3. а or not (a) не обязательно ИСТИНА. Значит, в трехзначной логике не работает принцип исключенного третьего (любое высказывание либо истинно, либо ложно).
Таких парадоксов получается достаточно много.
Описание слайда:
Парадокс 2. Неверно также, что null-значение не равно самому себе! Действительно, выражение null не равно null также принимает значение не ИСТИНА, а НЕИЗВЕСТНО! Значит также, что и выражение х не равно х тоже не обязательно ЛОЖЬ! Парадокс 2. Неверно также, что null-значение не равно самому себе! Действительно, выражение null не равно null также принимает значение не ИСТИНА, а НЕИЗВЕСТНО! Значит также, что и выражение х не равно х тоже не обязательно ЛОЖЬ! Парадокс 3. а or not (a) не обязательно ИСТИНА. Значит, в трехзначной логике не работает принцип исключенного третьего (любое высказывание либо истинно, либо ложно). Таких парадоксов получается достаточно много.

Слайд 9





Первичные ключи
Первичные ключи
Свойством уникальности - в отношении не может быть двух различных кортежей, с одинаковым значением K.
Свойством не избыточности - никакое подмножество в K не обладает свойством уникальности.
Описание слайда:
Первичные ключи Первичные ключи Свойством уникальности - в отношении не может быть двух различных кортежей, с одинаковым значением K. Свойством не избыточности - никакое подмножество в K не обладает свойством уникальности.

Слайд 10





Целостность сущностей
Целостность сущностей
Т.к. первичные ключи фактически служат идентификаторами объектов предметной области (т.е. предназначены для различения объектов), то значения этих идентификаторов не могут содержать неизвестные значения. Действительно, если бы идентификаторы могли содержать null-значения, то мы не могли бы дать ответ "да" или "нет" на вопрос, совпадают или нет два идентификатора.
Правило целостности сущностей. Атрибуты, входящие в состав некоторого потенциального ключа не могут принимать null-значений.
Описание слайда:
Целостность сущностей Целостность сущностей Т.к. первичные ключи фактически служат идентификаторами объектов предметной области (т.е. предназначены для различения объектов), то значения этих идентификаторов не могут содержать неизвестные значения. Действительно, если бы идентификаторы могли содержать null-значения, то мы не могли бы дать ответ "да" или "нет" на вопрос, совпадают или нет два идентификатора. Правило целостности сущностей. Атрибуты, входящие в состав некоторого потенциального ключа не могут принимать null-значений.

Слайд 11





Внешние ключи
Внешние ключи
Т.к. внешние ключи фактически служат ссылками на кортежи в другом (или в том же самом) отношении, то эти ссылки не должны указывать на несуществующие объекты. Это определяет следующее правило целостности внешних ключей:
Правило целостности внешних ключей. Внешние ключи не должны быть несогласованными, т.е. для каждого значения внешнего ключа должно существовать соответствующее значение первичного ключа в родительском отношении.
Описание слайда:
Внешние ключи Внешние ключи Т.к. внешние ключи фактически служат ссылками на кортежи в другом (или в том же самом) отношении, то эти ссылки не должны указывать на несуществующие объекты. Это определяет следующее правило целостности внешних ключей: Правило целостности внешних ключей. Внешние ключи не должны быть несогласованными, т.е. для каждого значения внешнего ключа должно существовать соответствующее значение первичного ключа в родительском отношении.

Слайд 12





Операции, которые нарушают ссылочную целостность
Операции, которые нарушают ссылочную целостность
Ссылочная целостность может нарушиться в результате операций, изменяющих состояние базы данных. Таких операций три:
вставка, 
обновление 
удаление кортежей в отношениях. 
Т.к. в определении ссылочной целостности участвуют два отношения - родительское и дочернее, а в каждом из них возможны три операции - вставка, обновление, удаление, то нужно рассмотреть шесть различных вариантов.
Описание слайда:
Операции, которые нарушают ссылочную целостность Операции, которые нарушают ссылочную целостность Ссылочная целостность может нарушиться в результате операций, изменяющих состояние базы данных. Таких операций три: вставка, обновление удаление кортежей в отношениях. Т.к. в определении ссылочной целостности участвуют два отношения - родительское и дочернее, а в каждом из них возможны три операции - вставка, обновление, удаление, то нужно рассмотреть шесть различных вариантов.

Слайд 13





Для родительского отношения
Для родительского отношения

Вставка кортежа в родительском отношении. 
При вставке кортежа в родительское отношение возникает новое значение первичного ключа. Т.к. допустимо существование кортежей в родительском отношении, на которые нет ссылок из дочернего отношения, то вставка кортежей в родительское отношение не нарушает ссылочной целостности.
Описание слайда:
Для родительского отношения Для родительского отношения Вставка кортежа в родительском отношении. При вставке кортежа в родительское отношение возникает новое значение первичного ключа. Т.к. допустимо существование кортежей в родительском отношении, на которые нет ссылок из дочернего отношения, то вставка кортежей в родительское отношение не нарушает ссылочной целостности.

Слайд 14





Для родительского отношения
Для родительского отношения

Обновление кортежа в родительском отношении. 
При обновлении кортежа в родительском отношении может измениться значение первичного ключа. Если есть кортежи в дочернем отношении, ссылающиеся на обновляемый кортеж, то значения их внешних ключей станут некорректными. Обновление кортежа в родительском отношении может привести к нарушению ссылочной целостности, если это обновление затрагивает значение первичного ключа.
Описание слайда:
Для родительского отношения Для родительского отношения Обновление кортежа в родительском отношении. При обновлении кортежа в родительском отношении может измениться значение первичного ключа. Если есть кортежи в дочернем отношении, ссылающиеся на обновляемый кортеж, то значения их внешних ключей станут некорректными. Обновление кортежа в родительском отношении может привести к нарушению ссылочной целостности, если это обновление затрагивает значение первичного ключа.

Слайд 15





Для родительского отношения
Для родительского отношения

Удаление кортежа в родительском отношении. 
При удалении кортежа в родительском отношении удаляется значение первичного ключа. Если есть кортежи в дочернем отношении, ссылающиеся на удаляемый кортеж, то значения их внешних ключей станут некорректными. Удаление кортежей в родительском отношении может привести к нарушению ссылочной целостности.
Описание слайда:
Для родительского отношения Для родительского отношения Удаление кортежа в родительском отношении. При удалении кортежа в родительском отношении удаляется значение первичного ключа. Если есть кортежи в дочернем отношении, ссылающиеся на удаляемый кортеж, то значения их внешних ключей станут некорректными. Удаление кортежей в родительском отношении может привести к нарушению ссылочной целостности.

Слайд 16





Для дочернего отношения
Для дочернего отношения

Вставка кортежа в дочернее отношение. 
Нельзя вставить кортеж в дочернее отношение, если вставляемое значение внешнего ключа некорректно. Вставка кортежа в дочернее отношение привести к нарушению ссылочной целостности.
Описание слайда:
Для дочернего отношения Для дочернего отношения Вставка кортежа в дочернее отношение. Нельзя вставить кортеж в дочернее отношение, если вставляемое значение внешнего ключа некорректно. Вставка кортежа в дочернее отношение привести к нарушению ссылочной целостности.

Слайд 17





Для дочернего отношения
Для дочернего отношения

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

Слайд 18





Для дочернего отношения
Для дочернего отношения

Удаление кортежа в дочернем отношении. 
При удалении кортежа в дочернем отношении ссылочная целостность не нарушается.
Описание слайда:
Для дочернего отношения Для дочернего отношения Удаление кортежа в дочернем отношении. При удалении кортежа в дочернем отношении ссылочная целостность не нарушается.

Слайд 19





Нарушение ссылочной целостности
Нарушение ссылочной целостности

Основные 4 операции:
Обновление кортежа в родительском отношении.
Удаление кортежа в родительском отношении.
Вставка кортежа в дочернее отношение.
Обновление кортежа в дочернем отношении.
Описание слайда:
Нарушение ссылочной целостности Нарушение ссылочной целостности Основные 4 операции: Обновление кортежа в родительском отношении. Удаление кортежа в родительском отношении. Вставка кортежа в дочернее отношение. Обновление кортежа в дочернем отношении.

Слайд 20





Стратегии поддержания ссылочной целостности
Стратегии поддержания ссылочной целостности
Существуют две основные стратегии поддержания ссылочной целостности:
RESTRICT (ОГРАНИЧИТЬ)
CASCADE (КАСКАДИРОВАТЬ)
Описание слайда:
Стратегии поддержания ссылочной целостности Стратегии поддержания ссылочной целостности Существуют две основные стратегии поддержания ссылочной целостности: RESTRICT (ОГРАНИЧИТЬ) CASCADE (КАСКАДИРОВАТЬ)

Слайд 21





RESTRICT (ОГРАНИЧИТЬ)
RESTRICT (ОГРАНИЧИТЬ)

RESTRICT (ОГРАНИЧИТЬ) - не разрешать выполнение операции, приводящей к нарушению ссылочной целостности. 
Это самая простая стратегия, требующая только проверки, имеются ли кортежи в дочернем отношении, связанные с некоторым кортежем в родительском отношении.
Описание слайда:
RESTRICT (ОГРАНИЧИТЬ) RESTRICT (ОГРАНИЧИТЬ) RESTRICT (ОГРАНИЧИТЬ) - не разрешать выполнение операции, приводящей к нарушению ссылочной целостности. Это самая простая стратегия, требующая только проверки, имеются ли кортежи в дочернем отношении, связанные с некоторым кортежем в родительском отношении.

Слайд 22





CASCADE (КАСКАДИРОВАТЬ)
CASCADE (КАСКАДИРОВАТЬ)
CASCADE (КАСКАДИРОВАТЬ) - разрешить выполнение требуемой операции, но внести при этом необходимые поправки в других отношениях так, чтобы не допустить нарушения ссылочной целостности и сохранить все имеющиеся связи. 
Изменение начинается в родительском отношении и каскадно выполняется в дочернем отношении. 
Особенность. Если дочернее отношение само является родительским для некоторого третьего отношения, то может дополнительно потребоваться выполнение какой-либо стратегии и для этой связи и т.д. Если при этом какая-либо из каскадных операций (любого уровня) не может быть выполнена, то необходимо отказаться от первоначальной операции и вернуть базу данных в исходное состояние.
Описание слайда:
CASCADE (КАСКАДИРОВАТЬ) CASCADE (КАСКАДИРОВАТЬ) CASCADE (КАСКАДИРОВАТЬ) - разрешить выполнение требуемой операции, но внести при этом необходимые поправки в других отношениях так, чтобы не допустить нарушения ссылочной целостности и сохранить все имеющиеся связи. Изменение начинается в родительском отношении и каскадно выполняется в дочернем отношении. Особенность. Если дочернее отношение само является родительским для некоторого третьего отношения, то может дополнительно потребоваться выполнение какой-либо стратегии и для этой связи и т.д. Если при этом какая-либо из каскадных операций (любого уровня) не может быть выполнена, то необходимо отказаться от первоначальной операции и вернуть базу данных в исходное состояние.

Слайд 23





Дополнительные стратегии
Дополнительные стратегии
SET NULL (УСТАНОВИТЬ В NULL) - разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на null-значения. 
Недостатки. 
требуется допустить использование null-значений. 
кортежи дочернего отношения теряют всякую связь с кортежами родительского отношения. Установить, с каким кортежем родительского отношения были связаны измененные кортежи дочернего отношения, после выполнения операции уже нельзя.
Описание слайда:
Дополнительные стратегии Дополнительные стратегии SET NULL (УСТАНОВИТЬ В NULL) - разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на null-значения. Недостатки. требуется допустить использование null-значений. кортежи дочернего отношения теряют всякую связь с кортежами родительского отношения. Установить, с каким кортежем родительского отношения были связаны измененные кортежи дочернего отношения, после выполнения операции уже нельзя.

Слайд 24





Дополнительные стратегии
Дополнительные стратегии

SET DEFAULT (УСТАНОВИТЬ ПО УМОЛЧАНИЮ) - разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию. 
Достоинство: позволяет не пользоваться null-значеними. Недостатки: 
В родительском отношении должен быть некий кортеж, первичные ключи которого приняты как значение по умолчанию для внешних ключей. 
кортежи дочернего отношения теряют всякую связь с кортежами родительского отношения.
Описание слайда:
Дополнительные стратегии Дополнительные стратегии SET DEFAULT (УСТАНОВИТЬ ПО УМОЛЧАНИЮ) - разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию. Достоинство: позволяет не пользоваться null-значеними. Недостатки: В родительском отношении должен быть некий кортеж, первичные ключи которого приняты как значение по умолчанию для внешних ключей. кортежи дочернего отношения теряют всякую связь с кортежами родительского отношения.

Слайд 25






Спасибо за внимание!!!
Описание слайда:
Спасибо за внимание!!!



Похожие презентации
Mypresentation.ru
Загрузить презентацию