Saltar para o conteúdo
Informática · 11.º Ano · Desenvolvimento de Aplicações e Interfaces · 2o Periodo

SQL: Funções de Agregação e Agrupamento

Os alunos utilizam funções de agregação (COUNT, SUM, AVG, MAX, MIN) e a cláusula GROUP BY para resumir e analisar dados.

Aprendizagens EssenciaisDGE: Secundário - Bases de DadosDGE: Secundário - Linguagens de Consulta

Sobre este tópico

As funções de agregação em SQL, como COUNT, SUM, AVG, MAX e MIN, permitem resumir dados brutos em métricas úteis, como contagens totais, somas acumuladas, médias, valores máximos e mínimos. No 11.º ano, os alunos aplicam estas funções com a cláusula GROUP BY para segmentar análises, por exemplo, calcular o número de encomendas por cliente ou a média de notas por disciplina numa base de dados escolar. Esta prática transforma tabelas extensas em insights claros, alinhando-se aos standards DGE para bases de dados e linguagens de consulta no Currículo Nacional.

Na unidade de Desenvolvimento de Aplicações e Interfaces, este tópico reforça o pensamento computacional avançado ao ligar manipulação de dados a projetos reais de inovação digital. Os alunos respondem a questões chave, como a transformação de dados em métricas significativas, o papel do GROUP BY em análises agrupadas e a comparação entre WHERE, que filtra linhas individuais, e HAVING, que filtra grupos após agregação.

A aprendizagem ativa beneficia especialmente este tópico porque as consultas SQL ganham significado através de execução prática em ferramentas como SQLite ou DB Browser. Quando os alunos constroem queries em grupo, testam variações e interpretam resultados visuais, compreendem erros comuns e retêm conceitos de forma duradoura.

Questões-Chave

  1. Analise como as funções de agregação podem transformar dados brutos em métricas significativas.
  2. Explique a importância da cláusula GROUP BY na análise de dados agregados.
  3. Compare a utilização de HAVING e WHERE em consultas com agrupamento.

Objetivos de Aprendizagem

  • Calcular o número de registos numa tabela e o valor total de uma coluna numérica utilizando as funções COUNT e SUM.
  • Determinar o valor médio e os valores máximo e mínimo de uma coluna numérica numa tabela utilizando as funções AVG, MAX e MIN.
  • Agrupar registos com base nos valores de uma ou mais colunas e aplicar funções de agregação a cada grupo utilizando a cláusula GROUP BY.
  • Filtrar grupos de resultados com base numa condição aplicada a uma função de agregação utilizando a cláusula HAVING, distinguindo-a da cláusula WHERE.
  • Analisar o impacto da cláusula GROUP BY na apresentação de dados resumidos em comparação com a apresentação de dados não agrupados.

Antes de Começar

Introdução a Bases de Dados Relacionais

Porquê: Os alunos precisam de compreender o conceito de tabelas, colunas, linhas e chaves primárias/estrangeiras para poderem consultar e manipular dados.

Comandos SQL Básicos (SELECT, FROM, WHERE)

Porquê: É fundamental que os alunos saibam selecionar dados de tabelas e filtrar linhas individuais antes de aprenderem a agregar e agrupar dados.

Vocabulário-Chave

Função de AgregaçãoFunções SQL que realizam um cálculo num conjunto de valores e devolvem um único valor. Exemplos comuns incluem COUNT, SUM, AVG, MAX, MIN.
COUNTConta o número de linhas que correspondem a um critério especificado. Pode contar todas as linhas ou apenas as linhas com valores não nulos numa coluna específica.
GROUP BYCláusula SQL utilizada para agrupar linhas que têm os mesmos valores em uma ou mais colunas numa tabela, permitindo a aplicação de funções de agregação a cada grupo.
HAVINGCláusula SQL utilizada para filtrar grupos criados pela cláusula GROUP BY, com base numa condição que geralmente envolve uma função de agregação.

Atenção a estes erros comuns

Erro comumO GROUP BY aplica funções de agregação a todos os dados sem segmentar.

O que ensinar em alternativa

O GROUP BY divide os dados em grupos baseados numa coluna antes da agregação, como somar vendas por categoria. Abordagens ativas, como estações rotativas com datasets variados, ajudam os alunos a visualizar grupos e testar queries erradas para corrigir mentalmente.

Erro comumHAVING funciona igual a WHERE em consultas agrupadas.

O que ensinar em alternativa

WHERE filtra linhas antes do agrupamento, enquanto HAVING filtra após, aplicando-se a resultados agregados. Discussões em pares ao debater queries reais esclarecem esta distinção através de comparação de outputs.

Erro comumFunções como AVG incluem valores NULL nos cálculos.

O que ensinar em alternativa

AVG ignora NULLs por defeito, focando em valores válidos. Experiências hands-on com datasets intencionalmente incompletos mostram discrepâncias, promovendo depuração colaborativa.

Ideias de aprendizagem ativa

Ver todas as atividades

Ligações ao Mundo Real

  • Analistas de marketing utilizam funções de agregação e GROUP BY em bases de dados de clientes para calcular o número total de compras por segmento demográfico ou a receita média gerada por cada campanha publicitária.
  • Gestores de inventário em grandes retalhistas como a Worten ou a FNAC usam SQL para determinar o valor total do stock por categoria de produto ou o produto com maior rotatividade numa determinada loja, utilizando MAX e SUM.
  • Cientistas de dados em empresas de tecnologia como a OutSystems ou a Farfetch analisam logs de utilização de aplicações para identificar padrões, calculando a média de tempo de sessão por tipo de utilizador ou o número de erros por módulo da aplicação.

Ideias de Avaliação

Bilhete de Saída

Apresente aos alunos uma tabela simples de vendas com colunas como 'Produto', 'Quantidade' e 'PreçoUnitario'. Peça-lhes para escreverem uma consulta SQL que calcule o valor total vendido para cada produto, utilizando COUNT, SUM e GROUP BY. Inclua uma pergunta: 'Qual a diferença entre usar WHERE e HAVING para filtrar produtos com vendas totais superiores a 1000€?'

Verificação Rápida

Mostre aos alunos o resultado de uma consulta SQL que utiliza AVG e GROUP BY numa tabela de notas de alunos. Pergunte: 'O que representa este valor médio? Se quisermos ver apenas as turmas com média acima de 15, que cláusula devemos adicionar e onde?'

Questão para Discussão

Coloque a seguinte questão para discussão em pequenos grupos: 'Imagine que tem uma base de dados de utilizadores de uma rede social. Como usaria as funções de agregação e GROUP BY para identificar os 5 utilizadores mais ativos (com mais publicações) e quais as limitações de usar apenas COUNT para esta análise?'

Perguntas frequentes

Como as funções de agregação transformam dados brutos em métricas?
Funções como COUNT contam registos, SUM acumula valores, AVG calcula médias, MAX e MIN identificam extremos. Combinadas com GROUP BY, geram resumos por categoria, como médias de vendas por mês. Esta análise revela padrões ocultos em grandes volumes de dados, essencial para decisões em aplicações reais.
Qual a importância da cláusula GROUP BY em SQL?
GROUP BY segmenta dados para agregações específicas, permitindo análises por subgrupos, como total de produtos por fornecedor. Sem ela, funções agregam tudo num só resultado. Prática em datasets relacionais ajuda alunos a ver como insights granulares suportam dashboards e relatórios.
Diferença entre WHERE e HAVING em consultas com GROUP BY?
WHERE filtra linhas individuais antes do agrupamento, excluindo dados iniciais. HAVING filtra grupos após agregação, como 'grupos com AVG > 80'. Testes sequenciais em ferramentas SQL mostram o impacto no resultado final, clarificando a ordem de execução.
Como a aprendizagem ativa ajuda a compreender funções de agregação e GROUP BY?
Atividades como rotação de estações ou projetos em pares permitem executar queries em tempo real, observar erros e ajustar imediatamente. Datasets contextualizados, como vendas ou notas escolares, tornam conceitos relevantes. Colaboração revela perspetivas múltiplas, melhorando retenção e aplicação em projetos de inovação digital.