Sobes.tech
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.