Внешний ключ (foreign key): столбец, который устанавливает связь между двумя таблицами. Обычно реализуется как столбец в одной таблице (
post), хранящий значения первичного ключа из другой таблицы (user) для обеспечения связи между ними.Ограничение внешнего ключа (foreign key constraint): механизм, заставляющий СУБД обеспечивать целостность внешних ключей. Он гарантирует, что значения в столбце внешнего ключа (
post→user_id) ссылаются на существующую запись в другой таблице (user→id)Ограничения — полезное удобство (они поддерживают компонент «C» в ACID), но имеют свою цену: операции вставки, обновления и удаления в таблицах с ограничениями требуют дополнительных вычислительных ресурсов и операций ввода‑вывода для их соблюдения
Их удаление может привести к повышению производительности, но потребует переноса поддержки связей на уровень приложения. Приложения должны гарантировать, что их транзакции всегда оставляют эти связи в корректном состоянии
#sql
