COUNT, SUM, etc.

Re: COUNT, SUM, etc.

por Kelly Rosa Braghetto -
Número de respostas: 0

Oi, Gabriel.

No RELAX, para fazer agrupamentos e agregações, a gente usa o operador chamado gamma (γ) na ferramenta. Exemplos de uso do gamma:

 
1)  A consulta abaixo lista a quantidade total de peças existentes na relação PECA: 

γ count(codp) -> quantas_pecas (PECA)
 
A resposta dessa consulta é uma relação com um único atributo, ao qual demos o nome de "quantas_pecas". O gamma (γ) do RELAX nos obriga a atribuir um nome para o atributo que armazenará o resultado da operação de agregação. Por isso há esse "-> quantas_pecas" na consulta.  
 
2) Para cada cor de peça que aparece na relação PECA, a consulta abaixo mostra a quantidade de peças existentes no BD na referida cor.
    Ou seja, ela agrupa as tuplas de PECA segundo o atributo "cor", e para cada grupo (cor), ela calcula a quantidade de peças existente.

γ cor; count(codp) -> quantas_pecas (PECA)

 
A sintaxe do operador gamma é um pouco diferente daquele "F script" que vimos na aula porque:
- os atributos para agrupamento também ficam do lado direito do operador (antes das funções de agregação). No "F script" elas ficam à esquerda.
- é necessário renomear o atributo resultante de uma agregação.
 
Apesar desas diferenças na sintaxe,  o funcionamento do gamma é exatamente igual ao do "F Script" que vimos no aula.
 

Até mais,

Kelly