Álgebra Relacional

Renomear

A álgebra relacional possui um operador que possibilita renomearmos relações e atributos, tornando a combinação de operações mais compreensível

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:

  1. escrever as operações como uma única expressão da álgebra relacional aninhando as operações; ou
  2. 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)primeiroNomesobrenomesalariodptoemail
1José MauroSantosR$ 4.402,231jose@empresa.com
2CleitonMoura RochaR$ 2.152,152cleiton@empresa.com
3CleuzaBenevidesR$ 7.232,125cleuza@empresa.com
4RobervalAlmeidaR$ 1.734,005roberval@empresa.com
5MarianaGarbimR$ 2.642,192mariana@empresa.com

Para recuperar os atributos primeiroNome, sobrenome e salario de todos os funcionários que trabalham no departamento número 55, 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

primeiroNomesobrenomesalario
CleuzaBenevidesR$ 7.232,12
RobervalAlmeidaR$ 1.734,00

Ocorre que a apresentação acima foi feita apenas para fins didáticos. Formalmente, a operação renomear é representada por ρS(R)\rho_{S}(R), em que RR é o nome da relação original e SS o nome da nova relação. O processo, então, seria:

ρFUNCDPTO5(σdpto=5(FUNCIONARIO))\rho_{\text{FUNCDPTO5}}( \sigma_{\text{dpto=5}} (\text{FUNCIONARIO}))

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 SS são (A1,A2,...An)(A_{1},A_{2},...A_{n}) nessa ordem, então cada AiA_{i} é renomeado como BiB_{i}.

🧑🏻‍💻 Na prática

SELECT 
E.primeiroNome AS firstName,
E.sobrenome AS lastname,
E.valorMensal AS salary
FROM
FUNCIONARIO AS E
WHERE
E.dpto = 5;