Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 5.doc
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

1.4. Задание ссылочной целостности

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

  • запрещается изменение поля связи или удаление записи главной таблицы, если для нее имеются записи в подчиненной таблице;

  • при удалении записи в главной таблице автоматически удаляются соответствующие ей записи в подчиненной таблице (каскадное удаление).

Для выполнения операций, связанных с заданием ссылочной целостности, не­обходимо выбрать пункт Referential Integrity комбинированного списка Table Properties (рис. 5.2). При этом, как и в случае задания индексов, появляются кнопки Define, Modify, Erase и список, в котором выводятся имена созданных условий ссылочной целостности.

Условие ссылочной целостности задается для подчиненной таблицы и опреде­ляется следующими элементами:

  • полями связи подчиненной таблицы;

  • именем главной таблицы;

  • полями связи главной таблицы;

  • параметрами.

Разработчик может создать, изменить или удалить условие ссылочной целост­ности.

Для задания условия ссылочной целостности нужно нажать кнопку Define, по­сле чего появляется окно Referential Integrity (рис. 5.8).

В списке Fields следует выбрать поле связи и нажатием кнопки со стрелкой вправо перевести его в список Child Fields (Дочерние поля). Если полей связи несколько, то эти действия выполняются для каждого из них. Кнопка со стрел­кой влево удаляет выбранное поле из списка полей связи.

В списке Table указывается главная таблица, имена таблиц выбираются из рабо­чего каталога программы Database Desktop (каталог, определенный как Working Directory, его задание описано в лекции 6). После выбора таблицы и нажатия кнопки со стрелкой влево (рядом со списком таблиц) в список Parent's key ав­томатически заносятся ключевые поля главной таблицы.

Рис. 5.8. Задание условия ссылочной целостности

Замечание

Главная таблица должна быть закрыта и не использоваться другими програм­мами, включая Database Desktop. В противном случае при попытке сохранить структуру таблицы возникает ошибка.

Параметры ссылочной целостности выбираются переключателями. Группа Update rules (Правила изменения) определяет вид взаимодействия таблиц при изменениях в главной таблице. Переключатель Cascade устанавливает режим каскадного удаления записей в подчиненной таблице при удалении соответст­вующей записи главной таблицы. Переключатель Prohibit устанавливает режим запрещения изменения поля связи или удаления записи главной таблицы, для которой имеются записи в подчиненной таблице.

Переключатель Strict referential Integrity (Жесткая ссылочная целостность) уста­навливает защиту таблиц от модификации с использованием ранних версий программы Database Desktop (под DOS), которые не поддерживают ссылочную целостность.

После установки нужных флагов и нажатия кнопки ОК появляется окно Save Referential Integrity As, в котором указывается имя условия (рис. 5.5). Напом­ним, что для таблиц Paradox условия ссылочной целостности именуются. Для удобства обращения к условию в его имя можно включить имена полей и таб­лиц, задав при этом некоторый префикс, например, ri. После нажатия ОК сформированное условие ссылочной целостности добавляется к таблице, и его имя появляется в списке условий.

Замечание

Условия ссылочной целостности задаются на физическом уровне и действуют для любых программ, выполняющих операции с таблицей: как для программ типа Database Desktop, так и для приложений, создаваемых в Delphi.

Рис. 5.5. Задание имени для условия ссылочной целостности

Созданное условие ссылочной целостности можно изменить, определив новый состав полей и новые значения параметров. Изменение условия ссылочной це­лостности не отличается от процесса его создания: после выделения имени условия в списке и нажатия кнопки Modify открывается окно определения ссы­лочной целостности (рис. 5.8). При нажатии кнопки ОК измененное условие ссылочной целостности сохраняется под тем же именем.

Для удаления условия ссылочной целостности нужно выделить его в списке и нажать кнопку Erase. Удаление производится без выдачи предупреждающих со­общений.

Кнопки Modify и Erase доступны только, если выбрано условие в списке.