# Junção

## 3 Relações

Caso com três relações e duas *join conditions*:

Questão: Para cada projeto localizado em ‘Stafford’, queremos saber o seu número, o número do departamento que o controla e último nome, endereço e data de nascimento do gestor desse departamento.

![](https://560658675-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FO8PI3zA4v3P4FeW3uYOw%2Fuploads%2FcimzJCeAOZVWE8IE0bqc%2Fa.png?alt=media\&token=f789defc-efb7-487c-943a-a3e15eabf48b)

## Ambiguidade de Nomes de Atributos

Quando existem nomes de atributos iguais em distintas relações da junção, podemos utilizar o *full qualified name* (fqn):

* relation\_name.attribute

Exemplo: Vamos pegar num dos exemplos anteriores e imaginar que o atributo Dno de EMPLOYEE se chamava Dnumber...

![](https://560658675-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FO8PI3zA4v3P4FeW3uYOw%2Fuploads%2FdTm1bY6qLpCq9M3RoXD6%2Fa.png?alt=media\&token=bef2fa98-9f2a-421a-a620-1d3732c630a2)

## Ambiguidade + Renomeação

Há situações em que ambiguidade de nomes de atributos resulta de termos uma relação recursiva.

Nesta situação temos de renomeação as relações (*alias*).

Exemplo: Para cada Funcionário, pretendemos obter o seu primeiro e último nome, assim como do seu supervidor.

![](https://560658675-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FO8PI3zA4v3P4FeW3uYOw%2Fuploads%2FCPvto0gFqOl4v27gYieV%2Fa.png?alt=media\&token=380be46a-e656-4dc8-b624-e53487732907)
