Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 2002.doc
Скачиваний:
44
Добавлен:
15.06.2014
Размер:
335.36 Кб
Скачать

Стратегии поддержания ссылочной целостности.

Существуют две основные стратегии поддержания ссылочной целостности:

  1. RESTRICT («ограничить»)

  2. CASCADE («каскад»).

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

CASCADE — разрешается выполнение требуемой операции, но внести пир этом необходимые поправки в другие отношения так, чтобы не допустить нарушения ссылочной целостности и сохранить при этом все имеющиеся связи. Изменение начинается в родительском отношении и каскадно выполняется в дочернем отношении.

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

Дополнительные стратегии поддержки ссылочной целостности.

    1. SET NULL

    2. SET DEFAULT.

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

  • Требуется допустить использование NULL-значений;

  • Кортежи дочернего отношения теряют всякую связь с кортежами родительского отношения.

Установить, с каким кортежем в родительском отношении были связаны измененные кортежи дочернего отношения после выполнения операции уже нельзя.

SET DEFAULT — разрешается выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию. Достоинство этой стратегии в том, что она позволяет не пользоваться NULL-значением, а недостаток заключается в том, что в родительском отношении должен быть некоторый кортеж, потенциальный ключ которого принят как значение по умолчанию для внешних ключей. В качестве такого кортежа по умолчанию обычно принимают специальный кортеж, заполненный нулями. Этот кортеж нельзя удалять из родительского отношения и нельзя изменять.

В некоторых СУБД рассматривается еще одна дополнительная стратегия поддержания ссылочной целостности: IGNORE — выполнять операции, не обращая внимания на нарушение ссылочной целостности.

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

Лекция №8 (28.03.02.)

Нормальная форма отношений.

Для реализации реляционных БД используются две вещи:

  1. Реляционная модель данных, которую называют средством представления данных

  2. Язык представления данных SСL (?), который является средством обработки знаний.

Хорошо спроектированная БД должна удовлетворять как минимум условиям существующей нормальной формы. Уровни формализации:

  1. Сама предметная область

  2. Модель предметной области

  3. Логическая модель данных

  4. Физическая модель данных

  5. БД и приложения

Модель предметной области — это знания о предметной области. Знания могут быть как в неформальном виде, так и выражены формально при помощи каких-либо средств. Среди методик описания предметной области есть различные методики:

  • SADT (строятся блок-схемы предметной области)

  • IDEF

  • UML (средства для описания предметной области).

Логическая модель — ее отличие от модели предметной области в том, что она описывает основные понятия предметной области, а так же описывает ограничения, накладываемые как на взаимосвязи между объектами, так и на сами объекты. Логическая модель строится в терминах информационных единиц, но без привязки к конкретной СУБД.

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

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

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