Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

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

CuBook05

Понятие ссылочной целостности относится к связанным таблицам и проявляется в следующих вариантах взаимодействия таблиц:
  • запрещается изменять поле связи или удалять запись главной таблицы, если для нее имеются записи в подчиненной таблице;
  • при удалении записи в главной таблице автоматически удаляются соответствующие ей записи в подчиненной таблице (каскадное удаление).
Для выполнения операций, связанных с заданием ссылочной целостности, необходимо выбрать пункт Referential Integrity комбинированного списка Table properties. При этом, как и в случае задания индексов, появляются кнопки Define, Modify, Erase и список, в котором выводятся имена созданных условий ссылочной целостности.
 
Условие ссылочной целостности задается для подчиненной таблицы и определяется следующими элементами:
  • полями связи подчиненной таблицы;
  • именем главной таблицы;
  • полями связи главной таблицы;
  • параметрами.
 
Разработчик может создать, изменить или удалить условие ссылочной целостности. Для задания условия ссылочной целостности нужно нажать кнопку Define, после чего появляется окно Referential Integrity.
 
Поле связи следует выбрать в списке Fields и нажатием кнопки со стрелкой вправо перевести его в список Child fields (Дочерние поля). Если полей связи несколько, то эти действия выполняются для каждого из них. Кнопка со стрелкой влево удаляет выбранное поле из списка дочерних полей.
Задание рабочего каталога программы Database Desktop выполняется с помощью команды FileXWorking Directory (Файл\Рабочий каталог).
Главная таблица указывается в списке Table, имена таблиц выбираются в рабочем каталоге программы Database Desktop (каталог, определенный как Working Directory). После выбора таблицы и нажатия кнопки со стрелкой влево (рядом со списком таблиц) в поле Parent's key автоматически заносятся ключевые поля главной таблицы.
 
Главная таблица должна быть закрыта и не может использоваться другими программами, включая Database Desktop. В противном случае при попытке сохранить структуру таблицы возникает ошибка.
 
Параметры ссылочной целостности выбираются переключателями. Группа Update rule (Правила изменения) определяет вид взаимодействия таблиц при изменениях в главной таблице. Переключатель Cascade устанавливает режим каскадного удаления записей в подчиненной таблице при удалении соответствующей записи главной таблицы. Переключатель Prohibit устанавливает режим запрещения изменения поля связи или удаления записи главной таблицы, для которой имеются записи в подчиненной таблице.
 
Флажок Strict referential integrity (Жесткая ссылочная целостность) устанавливает защиту таблиц от модификации с использованием ранних версий программы Database Desktop (под DOS), которые не поддерживают ссылочную целостность.
 
После установки нужных режимов и нажатия кнопки ОК появляется окно Save Referential Integrity As, в котором нужно указать имя условия. Напомним, что для таблиц Paradox условия ссылочной целостности именуются. Для удобства обращения к условию в его имя можно включить имена полей и таблиц, задав при этом некоторый префикс, например, ri. После нажатия кнопки ОК сформированное условие ссылочной целостности добавляется к таблице, и его имя появляется в списке условий.
 
Созданное условие ссылочной целостности можно изменить, определив новый состав полей и новые значения параметров. Изменение условия ссылочной целостности практически не отличается от его создания: после вы деления имени условия в списке и нажатия кнопки Modify открывается окно определения ссылочной целостности. При нажатии кнопки ОК измененное условие ссылочной целостности сохраняется под тем же именем.
Условия ссылочной целостности задаются на физическом уровне и действуют для любых программ, выполняющих операции с таблицей: как для программ типа Database Desktop, так и для приложений, создаваемых в С++ Builder.
Для удаления условия ссылочной целостности нужно выделить его в списке и нажать кнопку Erase. Удаление производится без выдачи предупреждающих сообщений.
 
Кнопки Modify и Erase доступны, только если выбрано условие в списке.
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий