Главная страница

Построение базы данный СМК. Курсовой проект III курс - Патя. Инструкция по использованию бд 34 Вызов программы 34 Экранные формы 35 Описание отчетов 37 Заключение 39


Скачать 3.88 Mb.
НазваниеИнструкция по использованию бд 34 Вызов программы 34 Экранные формы 35 Описание отчетов 37 Заключение 39
АнкорПостроение базы данный СМК
Дата15.04.2022
Размер3.88 Mb.
Формат файлаdoc
Имя файлаКурсовой проект III курс - Патя.doc
ТипИнструкция
#476202
страница3 из 4
1   2   3   4


5.2.Средства поддержания целостности

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

Первый тип ограничений предполагает контроль значений атрибутов отношений.

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

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

В Visual Fox Pro поддержка ссылочной целостности выполняется с помощью одноименного Построителя. Чтобы открыть Построитель ссылочной целостности, достаточно выполнить следующее:

  • Открыть БД с таблицами, для которых необходимо установить ссылочную целостность;

  • В контекстном меню Конструктора БД задать команду ReferentialIntegrity (ссылочная целостность), что и приведет к открытию окна Построитель ссылочной целостности данных.

В окне Построителя перечислены все постоянные связи между таблицами БД Подписка. Информация по каждой связи размещена в отдельной строке. Первые два столбца содержат имена родительских и дочерних таблиц. Следующие три столбца содержат правила поддержания ссылочной целостности в случае редактирования, удаления и добавления записей соответственно. Изначально все правила содержат Ignore, но они определяются для каждой связи и каждой из трех перечисленных операций. Последние два столбца содержат индексы (теги) родительской и дочерней таблиц, по которым осуществляется связь.

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

Таблица 12.Средства поддержания целостности по ссылкам при модификации

Наименование

Описание


Cascade

При изменении первичного ключа или ключа-кандидата в родительской таблице автоматически осуществляется каскадное изменение всех соответствующих значений в дочерней таблице.
Restrict

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

Ignore

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


При удалении записи из родительской таблицы возможны следующие варианты действий:

Таблица 13.Средства поддержания целостности по ссылкам при удалении

Наименование

Описание


Cascade

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

Restrict

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

Ignore

Позволяет удалять значения полей первичного ключа или ключа-кандидата в родительской таблице независимо от существования связанных записей в дочерней таблице. Целостность данных при этом не поддерживается.
1   2   3   4


написать администратору сайта