Junior — Middle
Čo znamená pojem ForeignKey v kontexte databáz a ako sa používa na prepojenie tabuliek?
sobes.tech AI
Odpoveď od AI
V databázach označuje termín ForeignKey (cudzí kľúč) pole alebo sadu polí v jednej tabuľke, ktoré odkazujú na primárny kľúč inej tabuľky. Je to mechanizmus na vytvorenie a zabezpečenie vzťahu medzi tabuľkami, umožňujúci zachovanie integrity údajov.
Napríklad, ak existuje tabuľka Orders s poľom CustomerID, ktoré je cudzím kľúčom odkazujúcim na pole ID v tabuľke Customers, potom je každý záznam v Orders spojený s konkrétnym zákazníkom z Customers.
Použitie ForeignKey umožňuje:
- zabezpečiť referenčnú integritu (nie je možné pridať objednávku s neexistujúcim zákazníkom).
- uľahčiť spájanie údajov z prepojených tabuliek.
V Pythone, napríklad s použitím ORM Django, je cudzí kľúč definovaný takto:
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()
Tu je customer cudzí kľúč, ktorý spája objednávku s zákazníkom.