Sobes.tech
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 калиди хориҷӣ аст, ки фармоишро бо муштарӣ пайваст мекунад.