Autorrelacionamento
# Autorrelacionamento

Na Álgebra relacional um autorrelacionamento acontece quando os elementos de uma entidade se relacionam com eles mesmos.
Ou seja, um item de uma entidade se relaciona com outro item (ou com o mesmo) dessa mesma entidade. Apesar de parecer algo difícil de acontecer há casos, bem comuns, que identificam este tipo de relação. Por exemplo, uma ocorrência da entidade Funcionário, Gerencia e é Gerenciada por ela mesma. Assim se dá, ainda, na classe Militar em que o Oficial é também um Soldado.

## SQL

A implementação de um autorrelacionamento, através de um SQL, é feita da seguinte forma (considere que a tabela FUNCIONARIO é preexistente e o EMPREGADO foi promovido a GERENTE)
       alter table FUNCIONARIO
       add constraint EMPR_EMPR_FK foreign key (GERENTE)
       references FUNCIONARIO (EMPREGADO);
Note que a constraint EMPR_EMPR_FK relaciona a coluna GERENTE como uma chave estrangeira (Foreign Key) da coluna EMPREGADO na tabela FUNCIONARIO