Renomear
Até agora, vimos as operações unitárias de seleção e projeção. Os resultados de operação são novas instâncias de entidades. Essas instâncias que resultam das operações mencionadas não possuem nome (pelo menos até agora).
Renomeando relações
Como percebemos na aula anterior, para a maioria das consultas do mundo real, precisamos aplicar várias operações da álgebra relacional uma após a outra (como a combinação das operações de projeção e seleção, por exemplo). Nesses casos, podemos:
- escrever as operações como uma única expressão da álgebra relacional aninhando as operações; ou
- aplicar uma operação de cada vez e criar relações de resultado intermediário. Nesse caso, temos de dar nomes às relações que mantêm os resultados intermediários.
Como exemplo, considere a seguinte tabela:
FUNCIONARIO
🔑 id (PK) | primeiroNome | sobrenome | salario | dpto | |
---|---|---|---|---|---|
1 | José Mauro | Santos | R$ 4.402,23 | 1 | jose@empresa.com |
2 | Cleiton | Moura Rocha | R$ 2.152,15 | 2 | cleiton@empresa.com |
3 | Cleuza | Benevides | R$ 7.232,12 | 5 | cleuza@empresa.com |
4 | Roberval | Almeida | R$ 1.734,00 | 5 | roberval@empresa.com |
5 | Mariana | Garbim | R$ 2.642,19 | 2 | mariana@empresa.com |
Para recuperar os atributos primeiroNome
, sobrenome
e salario
de todos os funcionários que trabalham no departamento número , devemos aplicar uma operação SELEÇÃO e, depois, uma PROJEÇÃO. Podemos escrever uma única expressão da álgebra relacional, também conhecida como uma expressão em linha, da seguinte forma:
Como alternativa, podemos explicitamente mostrar a sequência de operações, dando um nome a cada relação intermediária, da seguinte forma:
O resultado das operações (em termos de tuplas) será o mesmo, mas, no segundo caso, temos uma melhor organização do processo:
RESULTADO
primeiroNome | sobrenome | salario |
---|---|---|
Cleuza | Benevides | R$ 7.232,12 |
Roberval | Almeida | R$ 1.734,00 |
Ocorre que a apresentação acima foi feita apenas para fins didáticos. Formalmente, a operação renomear é representada por , em que é o nome da relação original e o nome da nova relação. O processo, então, seria:
Renomeando atributos
Também podemos usar essa técnica para renomear os atributos nas relações intermediárias e de resultado.
Para renomear os atributos em uma relação, simplesmente listamos os novos nomes de atributo entre parênteses, como no exemplo a seguir:
Assim como no caso anterior, a apresentação feita acima é para fins didáticos. Formalmente, sua representação é:
🧑🏻🏫 Definição formal
Como vimos ao longo do texto, a ideia por trás da operação renomear é bem simples. Entretanto, precisamos compreender também a definição formal. A operação RENOMEAR geral, quando aplicada à relação R de grau n, é indicada por qualquer uma das três formas a seguir:
Se os atributos de são nessa ordem, então cada é renomeado como .
🧑🏻💻 Na prática
SELECT
E.primeiroNome AS firstName,
E.sobrenome AS lastname,
E.valorMensal AS salary
FROM
FUNCIONARIO AS E
WHERE
E.dpto = 5;