Online Documentation for SQL Manager for InterBase/Firebird

Редактор внешних ключей


Этот редактор используется для изменения свойств внешнего ключа. Редактор открывается при создании нового ключа или при редактировании существующего.

 

На вкладке Foreign Key Вы задаете основные свойства внешнего ключа.

 

Tables - Constraints Editor - Foreign Key

 

Имя ключа задается в поле Name.

 

Чтобы добавить поля таблицы в ключ переместите их из списка доступных полей - Available Fields в список выбранных полей - Included Fields.

 

Далее из раскрывающегося списка Foreign table выберите внешнюю таблицу. Переместите поля из списка доступных полей - Available Fields в список выбранных полей - Included Fields.

 

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

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

 

Delete action позволяет установить следующие действия, выполняемые при удалении строки, содержащей первичный ключ:

  • No Action - Без действия.
  • Каскадное удаление - Cascade - операция удаления строки, содержащей значение первичного ключа, на которую указывают внешние ключи в существующих строках других таблиц. При каскадном удалении удаляются также все строки, значение внешнего ключа которых указывает на удаленное значение первичного ключа.
  • Set Null - указывает, что при попытке удалить строку с ключом, на которую ссылаются внешние ключи в строках других таблиц, все значения, составляющие эти внешние ключи, должны быть изменены на NULL. Чтобы выполнялось это ограничение, все столбцы внешних ключей целевой таблицы должны допускать значение NULL.
  • Set Default - указывает, что при попытке удалить строку с ключом, на которую ссылаются внешние ключи в строках других таблиц, все значения, составляющие эти внешние ключи, должны быть изменены на значения по умолчанию. Чтобы выполнялось это ограничение, для всех столбцов внешних ключей целевой таблицы должно быть определено значение по умолчанию. Если столбец допускает значение NULL и множество значений по умолчанию не задано явно, NULL становится неявным значением по умолчанию для данного столбца.

 

Из раскрывающегося списка Update action Вы выбираете действие, которое будет выполняться при обновлении данных в таблице:

  • No Action - Без действия.
  • Cascade - Каскадное обновление. Операция обновления значения первичного ключа, на которое указывают внешние ключи в существующих строках других таблиц. При каскадном обновлении все значения внешних ключей обновляются так, чтобы они соответствовали новому значению первичного ключа.
  • Set Null - Указывает, что при попытке обновить ключевое значение, на которое ссылаются внешние ключи в строках других таблиц, все значения, составляющие эти внешние ключи, должны быть изменены на NULL. Чтобы выполнялось это ограничение, все столбцы внешних ключей целевой таблицы должны допускать значение NULL.
  • Set Default - Указывает, что при попытке обновить ключевое значение, на которое ссылаются внешние ключи в строках других таблиц, все значения, составляющие эти внешние ключи, должны быть изменены на значение по умолчанию. Чтобы выполнялось это ограничение, для всех столбцов внешних ключей целевой таблицы должно быть определено значение по умолчанию. Если столбец допускает значение NULL и множество значений по умолчанию не задано явно, NULL становится неявным значением по умолчанию для данного столбца.