Многие-к-одному

Рассмотрим базу данных библиотеки, содержащую две сущности: книги и авторы. Один автор может написать несколько книг, но у каждой книги есть только один автор (в большинстве случаев). В такой ситуации между авторами и книгами существует связь «многие-к-одному». Несколько книг могут быть связаны с одним автором, но у каждой книги может быть только один автор.

ER-связь выглядит следующим образом

alt text

Настройка поля

alt text

Описание параметров

Source collection

Исходная таблица, то есть таблица, в которой находится текущее поле.

Target collection

Целевая таблица, с которой устанавливается связь.

Foreign key

Поле исходной таблицы, используемое для установления связи между двумя таблицами.

Target key

Поле, на которое ссылается ограничение внешнего ключа; оно должно быть уникальным.

ON DELETE

ON DELETE — это правило обработки ссылок на внешние ключи в дочерней таблице при удалении записи из родительской таблицы. Оно является одним из параметров, задаваемых при определении ограничения внешнего ключа. Распространённые параметры ON DELETE:

  • CASCADE: при удалении записи из родительской таблицы автоматически удаляются все связанные с ней записи дочерней таблицы.
  • SET NULL: при удалении записи из родительской таблицы значения внешних ключей в связанных записях дочерней таблицы устанавливаются в NULL.
  • RESTRICT: параметр по умолчанию; если при попытке удалить запись из родительской таблицы существуют связанные записи дочерней таблицы, удаление записи родительской таблицы отклоняется.
  • NO ACTION: аналогично RESTRICT; если существуют связанные записи дочерней таблицы, удаление записи родительской таблицы отклоняется.