Sobes.tech
Junior — Middle

O que significa o termo ForeignKey no contexto de bases de dados e como é utilizado para ligar tabelas?

sobes.tech IA

Resposta da IA

Nos bancos de dados, o termo ForeignKey (chave estrangeira) refere-se a um campo ou conjunto de campos numa tabela que fazem referência à chave primária de outra tabela. É um mecanismo para estabelecer e garantir a relação entre tabelas, permitindo manter a integridade dos dados.

Por exemplo, se houver uma tabela Orders com um campo CustomerID, que é uma chave estrangeira referindo-se ao campo ID na tabela Customers, então cada registo em Orders está ligado a um cliente específico em Customers.

O uso de ForeignKey permite:

  • Garantir a integridade referencial (não é possível adicionar um pedido com um cliente inexistente).
  • Facilitar a junção de dados de tabelas relacionadas.

Em Python, por exemplo, usando ORM Django, a chave estrangeira é definida assim:

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()

Aqui, customer é uma chave estrangeira que liga o pedido ao cliente.