Junior — Middle
Какво означава терминът ForeignKey в контекста на базите данни и как се използва за свързване на таблици?
sobes.tech AI
Отговор от 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 е външен ключ, който свързва поръчката с клиента.