Целостность данных при использовании внешних ключей в базах данных обеспечивается за счёт автоматического поддержания ссылочной целостности. 1
Это означает, что значения в столбце внешнего ключа всегда будут актуальны и соответствовать реальным записям. 1 Такой подход гарантирует, что в системе не будет ссылок на несуществующие данные. 1
Некоторые способы, которыми внешний ключ обеспечивает целостность данных:
- Ограничение вставки некорректных данных. 3 Невозможно вставить значение в столбец внешнего ключа, если такого значения нет в связанной таблице. 3
- Ограничение удаления связанных записей. 3 Нельзя удалить запись из родительской таблицы, если на неё ссылаются записи в дочерней таблице, без дополнительных действий. 3
- Автоматическое обновление связанных записей. 2 Если данные в родительской таблице изменились, то эти изменения автоматически могут быть перенесены в дочернюю таблицу. 1
- Целостность каскадных ссылок. 5 Опция внешнего ключа позволяет любые изменения, сделанные в уникальной колонке или первичном ключе, автоматически переносить в значение внешнего ключа. 5