Что такое ForeignKey в реляционной БД

Python Middle Без компании
Что такое ForeignKey в реляционной БД
Ответы
ForeignKey (внешний ключ) — это ограничение в реляционной БД, которое обеспечивает ссылочную целостность между таблицами. Он связывает поле одной таблицы с первичным ключом (PrimaryKey) другой таблицы, создавая отношение "один-ко-многим" или "один-к-одному". **Пример в Django ORM:** ``` from django.db import models class Author(models.Model): name = models.CharField(max_length=100) class Book(models.Model): title = models.CharField(max_length=200) author = models.ForeignKey(Author, on_delete=models.CASCADE) # Связь с автором ``` **Особенности:** - Гарантирует, что значение в поле соответствует существующей записи в связанной таблице. - `on_delete` определяет поведение при удалении связанной записи (CASCADE, PROTECT, SET_NULL и др.). - Ускоряет JOIN-запросы за счёт индексации.