Целостность ссылочных связей (Referential Integrity) — это свойство данных в реляционной базе данных, которое гарантирует, что ссылки между таблицами остаются действительными. Она предотвращает следующие проблемы:
- Удаление строки из "родительской" таблицы, на которую ссылаются строки в "дочерней" таблице.
- Изменение первичного ключа в "родительской" таблице, на который ссылаются строки в "дочерней" таблице, без соответствующего обновления этих ссылок.
- Вставка строки в "дочернюю" таблицу со ссылкой на несуществующий первичный ключ в "родительской" таблице.
Реализуется с помощью внешних ключей (FOREIGN KEY).
Примеры ограничений для внешних ключей:
- ON DELETE CASCADE: При удалении строки в родительской таблице, соответствующие строки в дочерней таблице также удаляются.
- ON DELETE SET NULL: При удалении строки в родительской таблице, соответствующий внешний ключ в дочерней таблице устанавливается в NULL.
- ON DELETE RESTRICT: Удаление строки в родительской таблице запрещается, если на нее существуют ссылки в дочерней таблице.
- ON UPDATE CASCADE: При обновлении первичного ключа в родительской таблице, соответствующие внешние ключи в дочерней таблице также обновляются.
sql