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.
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
- Analise como as funções de agregação podem transformar dados brutos em métricas significativas.
- Explique a importância da cláusula GROUP BY na análise de dados agregados.
- 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
Porquê: Os alunos precisam de compreender o conceito de tabelas, colunas, linhas e chaves primárias/estrangeiras para poderem consultar e manipular dados.
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ção | Funções SQL que realizam um cálculo num conjunto de valores e devolvem um único valor. Exemplos comuns incluem COUNT, SUM, AVG, MAX, MIN. |
| COUNT | Conta 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 BY | Clá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. |
| HAVING | Clá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 atividadesRotaçã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.
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.
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.
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.
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
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€?'
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?'
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?
Qual a importância da cláusula GROUP BY em SQL?
Diferença entre WHERE e HAVING em consultas com GROUP BY?
Como a aprendizagem ativa ajuda a compreender funções de agregação e GROUP BY?
Mais em Desenvolvimento de Aplicações e Interfaces
Modelação de Dados: Entidades e Atributos
Os alunos aprendem a identificar entidades e os seus atributos, como primeiro passo na modelação de bases de dados.
2 methodologies
Associações e Cardinalidade
Os alunos exploram os diferentes tipos de associações (1:1, 1:N, N:M) e a sua cardinalidade em diagramas Entidade-Associação.
2 methodologies
Redundância e Integridade de Dados
Os alunos aprendem a identificar e a minimizar a redundância de dados em bases de dados relacionais, compreendendo a sua importância para a integridade e consistência da informação.
2 methodologies
Introdução ao SQL: DDL (Data Definition Language)
Os alunos aprendem a criar e modificar a estrutura de bases de dados e tabelas usando comandos SQL DDL (CREATE, ALTER, DROP).
2 methodologies
SQL: DML (Data Manipulation Language)
Os alunos praticam a inserção, atualização e eliminação de dados em tabelas usando comandos SQL DML (INSERT, UPDATE, DELETE).
2 methodologies
SQL: Consultas Básicas (SELECT)
Os alunos aprendem a selecionar dados de uma ou mais tabelas usando a cláusula SELECT, WHERE e ORDER BY.
2 methodologies