Junior — Middle
Co oznacza termin ForeignKey w kontekście baz danych i jak jest używany do łączenia tabel?
sobes.tech AI
Odpowiedź od AI
W bazach danych termin ForeignKey (klucz obcy) odnosi się do pola lub zestawu pól w jednej tabeli, które odwołują się do klucza głównego innej tabeli. Jest to mechanizm służący do ustanawiania i zapewniania relacji między tabelami, umożliwiający utrzymanie integralności danych.
Na przykład, jeśli istnieje tabela Orders z polem CustomerID, które jest kluczem obcym odwołującym się do pola ID w tabeli Customers, to każdy wpis w Orders jest powiązany z konkretnym klientem z Customers.
Użycie ForeignKey pozwala:
- zapewnić integralność referencyjną (nie można dodać zamówienia z nieistniejącym klientem).
- ułatwić łączenie danych z powiązanych tabel.
W Pythonie, na przykład z użyciem ORM Django, klucz obcy definiuje się tak:
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()
Tutaj customer jest kluczem obcym łączącym zamówienie z klientem.