- •«Проектирование ис» 2011
- •1. Понятие информационной системы. Типовые функциональные компоненты ис
- •2. Схема развития ис
- •3. Этапы проектирования ис
- •4. Понятие жизненного цикла ис, модели жизненного цикла информационной системы
- •5. Основные принципы создания ис
- •6. Требования к методологии и технологии разработки ис
- •7. Методология rad
- •8. Методы проектирования ис
- •9. Функционально-ориентированные методологии проектирования. Основные принципы функциональной методики idef0
- •10. Методология idef0. Виды стрелок на диаграммах idef0
- •11. Методология idef0. Нумерация работ и диаграмм. Каркас диаграммы
- •12. Методология idef0. Виды диаграммы idef0
- •13. Диаграммы потоков данных. Назначение. Нотации dfd. Рекомендации по построению
- •14. Основные элементы диаграмм dfd
- •15. Диаграммы dfd. Элементы для декомпозиции данных
- •16. Диаграммы dfd. Управляющие элементы диаграмм
- •17. Методология idef3. Назначение диаграмм. Основные элементы
- •18. Виды перекрестков на диаграммах idef3
- •19. SwimLane диаграммы и построение сценариев SwimLaneDiagrams (диаграмма плавательных дорожек).
- •20. Стоимостной анализ. Принципы связи abc анализа и idef0
- •21. Количественный и качественный анализ диаграмм модели idef
- •22. Моделирование данных. Архитектура ansi-sparc
- •24. Er-диаграммы. Определение сущности, атрибута, связи
- •25. Методология idef1x. Виды и мощности связей. Понятие зависимых и независимых сущностей
- •26. Методология idef1x. Виды зависимых сущностей
- •27. Нормальные формы er-диаграмм. Получение реляционной схемы из er-диаграмм
- •28. Реляционная модель данных. Структурная часть. Управляющая связь. Виды ключей
- •29. Реляционная модель данных. Набор ограничений целостности. Операции, нарушающие целостность
- •Ограничения кортежа.Ограничения целостности кортежапредставляют собой ограничения, накладываемые на допустимые значенияотдельногокортежа отношения, ине являющиесяограничением целостности атрибута.
- •30. Реляционная алгебра. Теоретико-множественные операции
- •31. Реляционная алгебра. Специальные операции
- •32. Реляционная модель данных. 1нф, 2нф, 3нф, нфбк
- •33. Реляционная модель данных. Нормальные формы более высоких порядков
- •36. Язык моделирования uml. Назначение. Характеристики. Перечень диаграмм
29. Реляционная модель данных. Набор ограничений целостности. Операции, нарушающие целостность
Ограничение целостности– это совокупность утверждений о допустимости значений в базе д-х и связях между ними. При выполнении операций над базой данных проверяется выполнение ограничения целостности и действия, приводящие к нарушению ограничений целостности, отвергаются. ОЦ / \ Внешнее ВнутреннееВнешнее оцдиктуется предметной областью.Внутренние оцопределяются моделью данных. Ограничения, которые используются только при проверке допустимости корректировки, называютсяограничениями перехода.Ограничение целостности атрибутапредставляют собой ограничения, накладываемые на допустимые значения атрибута.
Ограничения кортежа.Ограничения целостности кортежапредставляют собой ограничения, накладываемые на допустимые значенияотдельногокортежа отношения, ине являющиесяограничением целостности атрибута.
Ограничения целостности отношенияпредставляют ограничения, накладываемые только на допустимые значенияотдельногоотношения, ине являющиесяограничением целостности кортежа. Требование, что ограничение относится к отдельному отношению, означает, что для его проверки не требуется информации о других отношениях (в том числе не требуется ссылокпо внешнему ключуна кортежиэтого жеотношения).Ограничение целостности.Совокупность взаимосвязанных таблиц.Внешний ключ– это атрибут или группа атрибутов отражающих связь между отношениями (объектами)Ссылающиеся отношения– это отношения, которые содержат внешний ключ.Ссылочное или целевое отношение – это отношение, которому соответствует потенциальный ключ.Ограничение целостности связизаключается в том, что для каждого значения внешнего ключа, появляющегося ссылающимся отношением в целевом отношении должен найтись картеж с таким же значением потенциального ключа, любо значение внешнего ключа должно быть неопределенным (значение NULL). Ограничение по существованию является разновидностью ограничения целостности связей.Ограничение по существованиюзаключается в том, что для существования объекта в отношении S1 необходимо, чтобы он был обязательно связан с объектом в отношении S2. Внешний ключ в отношении S1 не может быть неопределенным (значение NULL). В предметной области может существовать ситуация обратной связи по существованию, когда не может существовать запись родительской таблицы без связанной с ней дочерних записей.Прочие ограничения:
Должны отсутствовать логические противоречия между данными взаимосвязанных таблиц.
К прочим ограничениям относятся алгоритмические зависимости между показателями (изменением постоянных показателей).
Запрет на обновление (изменение статических показателей).
Ограничение целостности на отмену ранее созданных ограничений целостности.
Другим признаком классификации по временному признаку является классификация по режиму проверки корректности базы данных. Возможны два режима проверки целостности:
Проверка в момент корректировки (оперативная проверка).
Проверка существующей базы данных (аудит).
Явные ограничения целостностью – это ограничения, диктуемые предметной областью, они так же называются внешними ограничениями или семантическими.Не явные ограничения целостности– определяются моделью данных, называются также синтаксическими ограничениями целостности (сетевая модель: для каждого набора должен быть один владелец,реляционная модель: требование целостности сущностей, требование целостности по ссылкам).Операции нарушающие ссылочную целостность
Вставка картежа в родит отношение – не нарушая ссылочной целостности.
Обновление кортежа в РО – может привести к нарушении СЦ.
Удаление кортежа в РО – может привести к нарушении СЦ.
Вставка в ДО – может привести к нарушении СЦ.
Обновлении в ДО – может привести к нарушении СЦ.
Удаление из ДО не нарушая ссылочной целостности.
Стратегии поддержания ссылочной целостности:Основная идея реляционной алгебры состоит в том, что коль скоро отношения являются множествами, то средства манипулирования отношениями могут базироваться на традиционных теоретико-множественных операциях, дополненных некоторыми специальными операциями, специфичными для баз данных.
RESTRICT (ОГРАНИЧИТЬ)- не разрешать выполнение операции, приводящей к нарушению ссылочной целостности. Это самая простая стратегия, требующая только проверки, имеются ли кортежи в дочернем отношении, связанные с некоторым кортежем в родительском отношении.
CASCADE (КАСКАДИРОВАТЬ)- разрешить выполнение требуемой операции, но внести при этом необходимые поправки в других отношениях так, чтобы не допустить нарушения ссылочной целостности и сохранить все имеющиеся связи. Изменение начинается в родительском отношении и каскадно выполняется в дочернем отношении. В реализации этой стратегии имеется одна тонкость, заключающаяся в том, что дочернее отношение само может быть родительским для некоторого третьего отношения. При этом может дополнительно потребоваться выполнение какой-либо стратегии и для этой связи и т.д. Если при этом какая-либо из каскадных операций (любого уровня) не может быть выполнена, то необходимо отказаться от первоначальной операции и вернуть базу данных в исходное состояние. Это самая сложная стратегия, но она хороша тем, что при этом не нарушается связь между кортежами родительского и дочернего отношений.
Эти стратегии являются стандартными и присутствуют во всех СУБД, в которых имеется поддержка ссылочной целостности. Можно рассмотреть дополнительные стратегии поддержания ссылочной целостности :
SET NULL (УСТАНОВИТЬ В NULL) - разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на null-значения. Эта стратегия имеет два недостатка. Во-первых, для нее требуется допустить использование null-значений. Во-вторых, кортежи дочернего отношения теряют всякую связь с кортежами родительского отношения. Установить, с каким кортежем родительского отношения были связаны измененные кортежи дочернего отношения, после выполнения операции уже нельзя.
SET DEFAULT (УСТАНОВИТЬ ПО УМОЛЧАНИЮ) - разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию. Достоинство этой стратегии по сравнению с предыдущей в том, что она позволяет не пользоваться null-значеними. Недостатки заключаются в следующем. Во-первых, в родительском отношении должен быть некий кортеж, потенциальный ключ которого принят как значение по умолчанию для внешних ключей. В качестве такого "кортежа по умолчанию" обычно принимают специальный кортеж, заполненный нулевыми значениями (не null-значениями!). Этот кортеж нельзя удалять из родительского отношения, и в этом кортеже нельзя изменять значение потенциального ключа. Таким образом, не все кортежи родительского отношения становятся равнозначными, поэтому приходится прилагать дополнительные усилия для отслеживания этой неравнозначности. Это плата за отказ от использования null-значений. Во-вторых, как и в предыдущем случае, кортежи дочернего отношения теряют всякую связь с кортежами родительского отношения. Установить, с каким кортежем родительского отношения были связаны измененные кортежи дочернего отношения, после выполнения операции уже нельзя.
В некоторых реализация СУБД рассматривается еще одна стратегия поддержания ссылочной целостности :
IGNORE (ИГНОРИРОВАТЬ) - выполнять операции, не обращая внимания на нарушения ссылочной целостности.
//Поскольку каждый атрибут связан с некоторым доменом, для множества допустимых значений каждого атрибута отношения определяются ограничения домена. Задаются два правила целостности, которые являются ограничениями для всех допустимых состояний базы данных: целостность сущностей и ссылочная целостность. Целостность сущностей– в базовом отношении ни один атрибут первичного ключа не может содержать отсутствующих значений, обозначаемых как NULL. По определению, первичный ключ — это минимальный идентификатор, который используется для уникальной идентификации кортежей. Это значит, что никакое подмножество первичного ключа не может быть достаточным для уникальной идентификации кортежей. Если допустить присутствие NULL в любой части первичного ключа, это равносильно утверждению, что не все его атрибуты необходимы для уникальной идентификации кортежей, что противоречит определению первичного ключа. Второе ограничение целостности касается внешних ключей.Ссылочная целостность– если в отношении существует внешний ключ, то значение внешнего ключа должно либо соответствовать значению потенциального ключа некоторого кортежа в его базовом отношении либо внешний ключ должен полностью состоять из значений NULL.Корпоративные ограниченияцелостности – дополнительные правила поддержки целостности данных, определяемые пользователями или администраторами базы данных.//