Banco de dados – Relacionamentos

Relacionamento é o nome dado à associação entre duas tabelas de um banco de dados, que servem para determinar registros que são correspondentes entre diferentes tabelas.

Um relacionamento depende da coincidência dos dados nos campos envolvidos, chamados campos-chaves. O relacionamento mais comum é o de uma chave primária numa tabela com a chave estrangeira de outra. Há três tipos de relacionamentos: um-para-um; um-para-muitos; muitos-para-muitos. Explico-os adiante.

Um-para-um

É um tipo raro de relacionamento adotado em banco de dados, porque envolve necessariamente duas chaves primárias nas tabelas relacionadas. Na verdade, se temos duas chaves primárias iguais em tabelas diferentes, na verdade o mais indicado seria ter apenas uma tabela.

A única razão que justifica a adoção deste tipo de relacionamento é quando queremos dividir uma tabela, geralmente com muitos campos, para otimizar o desempenho. Vamos dar como exemplo um sistema que busca informações no banco de dados de um funcionário. Esta tabela pode ter diversas informações profissionais, pessoais e de outros tipos, mas para uma aplicação, no momento, basta saber a matrícula (chave primária), nome e setor de lotação. Outros dados, como data de admissão, documentos pessoais, endereço, dependentes etc poderiam ser alocados numa tabela paralela, otimizando o desempenho do banco.

Um-para-muitos

É o principal relacionamento dos bancos de dados relacionais, aquele em que tipicamente você liga uma chave primária de uma tabela (conhecida como tabela pai) a uma chave estrangeira de outra tabela (conhecida como tabela filho).  Aproveitando a analogia dos nomes, e no mais estrito sentido biológico, um pai pode ter vários filhos, mas um filho só pode ter um único pai.

Muitos-para-muitos

O problema clássico do relacionamento um para muitos é de quando dentro da tabela filho devemos ter uma lista de vários itens. É o caso, por exemplo, de uma tabela de clientes (pai) para uma tabela de pedidos (filho). Um pedido normalmente pode ter um ou vários itens. E se nos restringirmos a um relacionamento um-para-muitos, cada pedido estará limitado ao número de campos disponibilizados, ou para cada pedido só podemos incluir um único item, o que é inviável.

Neste tipo de relacionamento, a solução é criar uma tabela intermediária, como listaPedidos, que conterá uma chave estrangeira para tabela pedidos, e uma chave estrangeira para a outra tabela de descrição do item do pedido. Na prática, um relacionamento muitos para muitos significa que temos duas relações um-para-muitos.

Fonte.

Um comentário em “Banco de dados – Relacionamentos”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *