Saltar para o conteúdo
Informática · 11.º Ano

Ideias de aprendizagem ativa

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

As funções de agregação e agrupamento em SQL transformam dados brutos em informação útil, mas a sua abstração requer prática ativa. Ao manipular datasets reais em estações rotativas ou projetos colaborativos, os alunos interiorizam como as cláusulas GROUP BY e HAVING estruturam os resultados, reduzindo a distância entre teoria e aplicação prática no mundo das bases de dados.

Aprendizagens EssenciaisDGE: Secundário - Bases de DadosDGE: Secundário - Linguagens de Consulta
25–50 minPares → Turma inteira4 atividades

Atividade 01

Círculo de Investigação45 min · Pequenos grupos

Rotação de Estações: Queries Agregadas

Prepare quatro estações com datasets temáticos: vendas (SUM/AVG), registos (COUNT/MAX), notas (MIN/AVG por turma), clientes (GROUP BY). Os grupos rotacionam a cada 10 minutos, escrevem e executam uma query por estação, registando métricas num quadro partilhado.

Analise como as funções de agregação podem transformar dados brutos em métricas significativas.

Sugestão de FacilitaçãoNa Rotação de Estações, prepare datasets distintos para cada estação e inclua intencionalmente valores NULL ou duplicados para testar a robustez das queries dos alunos.

O que observarApresente 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€?'

AnalisarAvaliarCriarAutogestãoAutoconsciência
Gerar Aula Completa

Atividade 02

Projeto em Pares: Análise de Vendas

Forneça uma base de dados de vendas reais. Os pares escrevem queries com GROUP BY para calcular totais por região e filtrar com HAVING grupos acima de um valor. Apresentam um gráfico dos resultados usando ferramentas como Google Sheets.

Explique a importância da cláusula GROUP BY na análise de dados agregados.

Sugestão de FacilitaçãoNo Projeto em Pares de Análise de Vendas, forneça uma tabela com pelo menos 50 registos e peça aos alunos que justifiquem as suas escolhas de agrupamento em voz alta.

O que observarMostre 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?'

AnalisarAvaliarCriarAutogestãoAutoconsciência
Gerar Aula Completa

Atividade 03

Círculo de Investigação50 min · Turma inteira

Desafio Coletivo: Otimizar Consultas

Apresente uma query ineficiente com agregações. A turma divide-se em equipas para reescrever com GROUP BY otimizado, compara tempos de execução e discute diferenças entre WHERE e HAVING em conjunto.

Compare a utilização de HAVING e WHERE em consultas com agrupamento.

Sugestão de FacilitaçãoPara o Desafio Coletivo de Otimizar Consultas, use uma query inicial ineficiente e peça aos grupos que a refaçam em 10 minutos, comparando depois os planos de execução.

O que observarColoque 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?'

AnalisarAvaliarCriarAutogestãoAutoconsciência
Gerar Aula Completa

Atividade 04

Círculo de Investigação25 min · Individual

Exercício Individual: Dataset Personalizado

Cada aluno importa um dataset próprio (ex.: notas pessoais ou jogos) e cria três queries com funções agregadas e GROUP BY. Partilham uma no forum da turma para feedback.

Analise como as funções de agregação podem transformar dados brutos em métricas significativas.

Sugestão de FacilitaçãoNo Exercício Individual com Dataset Personalizado, atribua a cada aluno uma tabela diferente, mas com a mesma estrutura, para fomentar a discussão de abordagens alternativas.

O que observarApresente 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€?'

AnalisarAvaliarCriarAutogestãoAutoconsciência
Gerar Aula Completa

Algumas notas sobre lecionar esta unidade

Ensine funções de agregação começando por exemplos simples, como contar alunos por turma, antes de introduzir cenários complexos. Evite explicar unicamente a sintaxe; em vez disso, peça aos alunos que prevejam os resultados de queries antes de as executar. A investigação mostra que esta abordagem reduz erros conceptuais, como confundir GROUP BY com filtros globais. Use analogias visuais, como dividir uma turma em grupos antes de calcular médias, para ancorar a abstração.

No final destas atividades, espera-se que os alunos consigam construir queries precisas com funções como COUNT, SUM, AVG, MAX e MIN, combinadas com GROUP BY e HAVING, para responder a questões concretas sobre dados. A autonomia na depuração de erros e a capacidade de explicar as diferenças entre WHERE e HAVING são indicadores claros de sucesso.


Atenção a estes erros comuns

  • Durante a Rotação de Estações, ouça os alunos dizerem que 'o GROUP BY aplica funções a todos os dados'.

    Peça-lhes que escrevam a query para somar vendas por categoria e executem-na com uma tabela que tenha 3 categorias distintas. Pergunte: 'Quantos grupos foram criados? Se removermos a cláusula GROUP BY, quantos resultados obtemos?'.

  • Durante o Projeto em Pares de Análise de Vendas, observe discussões sobre 'usar HAVING ou WHERE para filtrar vendas acima de 1000€'.

    Peça aos pares que escrevam a mesma query com WHERE e depois com HAVING, executem-nas e comparem os resultados. Pergunte: 'Porque é que a query com WHERE devolve menos linhas?'

  • Durante o Exercício Individual com Dataset Personalizado, verifique se os alunos incluem NULLs nos cálculos de AVG.

    Inclua uma coluna com 20% de valores NULL na tabela do aluno e peça-lhe que calcule a média antes e depois de substituir os NULLs por zeros. Pergunte: 'Qual é a diferença entre estes valores e porquê?'.


Metodologias usadas neste resumo