Sobes.tech
Назад к вопросам
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 — внешний ключ, связывающий заказ с клиентом.