Sobes.tech
Junior

Por que é necessária uma relação na tabela?

sobes.tech IA

Resposta da IA

A relação, ou ligação entre tabelas numa base de dados, é necessária para:

  • Eliminar a redundância de dados: Em vez de duplicar informações em várias tabelas, elas são armazenadas numa única, e outras referenciam-na. Isto poupa espaço e simplifica atualizações.
  • Garantir a integridade dos dados: As relações ajudam a manter a coerência dos dados. Por exemplo, não se pode eliminar uma linha numa tabela se outra faz referência a ela (dependendo do tipo de restrição).
  • Simplificar consultas: Permite extrair facilmente dados relacionados de várias tabelas usando operações JOIN.
  • Criar a estrutura da base de dados: Reflete a relação lógica entre entidades do mundo real, tornando a estrutura da base de dados mais compreensível e organizada.

Exemplos de tipos de relações:

  • Um para um (One-to-one): Uma linha na tabela A está relacionada apenas com uma linha na tabela B, e vice-versa.
  • Um para muitos (One-to-many): Uma linha na tabela A pode estar relacionada com várias linhas na tabela B, mas uma linha na B está relacionada apenas com uma na A.
  • Muitos para muitos (Many-to-many): Uma linha na tabela A pode estar relacionada com várias linhas na tabela B, e vice-versa. Geralmente implementado através de uma tabela intermédia.

Implementação com exemplo em SQL:

CREATE TABLE clientes (
    cliente_id INT PRIMARY KEY,
    nome VARCHAR(255)
);

CREATE TABLE pedidos (
    pedido_id INT PRIMARY KEY,
    data_pedido DATE,
    cliente_id INT,
    FOREIGN KEY (cliente_id) REFERENCES clientes(cliente_id) // Relação "um para muitos": um cliente pode ter muitos pedidos
);