Douglas Legramante

Douglas Legramante

Informática

Técnico em Informática · Banco de Dados

07-Auto-relacionamento

O que é um auto-relacionamento?

E7 — Construção do EER Diagram Completo

1. Hoje: expandindo o nosso diagrama

Desde o Encontro 5, vocês vêm construindo um EER Diagram com aluno, livro e emprestimo, já conectados por relacionamentos 1:N. Hoje vamos ampliar esse mesmo diagrama, aplicando tudo que já foi visto — e aprendendo um tipo de relacionamento novo: o auto-relacionamento.

2. O que é um auto-relacionamento?

Um auto-relacionamento (também chamado de relacionamento recursivo ou reflexivo) é quando uma entidade se relaciona com ela mesma — ou seja, uma ocorrência dela se conecta a outra ocorrência da mesma entidade.

Exemplo clássico: um Funcionário supervisiona outro Funcionário. Ambos os lados do relacionamento são a mesma entidade (Funcionário) — só que desempenhando papéis diferentes: um é o supervisor, o outro é o supervisionado.

Usamos auto-relacionamento sempre que queremos representar uma hierarquia ou uma conexão entre itens do mesmo tipo — outros exemplos comuns: uma Categoria de produtos que tem subcategorias, ou uma pessoa que indica outra pessoa.

Papéis (roles)

Como as duas pontas do relacionamento são a mesma entidade, é importante nomear o papel de cada lado, para não confundir na hora de ler o diagrama — por exemplo: "supervisor" de um lado, "supervisionado" do outro.

3. Como desenhar no MySQL Workbench

A boa notícia: o processo é o mesmo que já usamos no Encontro 6 para desenhar relacionamentos — só que, dessa vez, as duas tabelas clicadas são a mesma tabela.

  1. Adicione a entidade (ex.: funcionario, com matricula_funcionario PK, nome, cargo).
  2. Adicione também uma coluna extra, tipo matricula_supervisor — é ela que vai receber a FK.
  3. Escolha a ferramenta de relacionamento (ex.: "1:n Non-Identifying Relationship").
  4. Clique na tabela funcionario (lado N) e depois clique na tabela funcionario de novo (lado 1) — a mesma tabela, duas vezes.
  5. O Workbench desenha uma linha que sai da tabela e volta para ela mesma.

4. Prévia da prática

Hoje a prática tem três níveis (fácil, intermediário, difícil) para expandir o diagrama da biblioteca com novas entidades e relacionamentos — incluindo, no nível intermediário, o auto-relacionamento que acabamos de ver.

5. Prévia do próximo encontro

No Encontro 8, vamos aprender a traduzir nosso modelo conceitual para o modelo relacional (o nível lógico que vimos no Encontro 5) — o passo explícito entre o desenho no papel e a tabela real.


Vídeos sobre o assunto

Para se aprofundar