Назад к вопросам
Junior — Middle
66
Что обозначает термин ForeignKey в контексте баз данных и как он используется для связи таблиц?
Ответ от нейросети
sobes.tech AI
В базах данных термин ForeignKey (внешний ключ) обозначает поле или набор полей в одной таблице, которые ссылаются на первичный ключ другой таблицы. Это механизм для установления и обеспечения связи между таблицами, позволяющий поддерживать целостность данных.
Например, если есть таблица Orders с полем CustomerID, которое является внешним ключом, ссылающимся на поле ID в таблице Customers, то каждая запись в Orders связана с конкретным клиентом из Customers.
Использование ForeignKey позволяет:
- Обеспечить ссылочную целостность (нельзя добавить заказ с несуществующим клиентом).
- Упростить объединение данных из связанных таблиц.
В Python, например с использованием ORM Django, внешний ключ задаётся так:
from django.db import models
class Customer(models.Model):
name = models.CharField(max_length=100)
class Order(models.Model):
customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
order_date = models.DateField()
Здесь customer — внешний ключ, связывающий заказ с клиентом.