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

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.

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

Sobre este tópico

As consultas básicas SQL com SELECT, WHERE e ORDER BY permitem aos alunos extrair dados específicos de bases de dados relacionais. Nesta unidade, os alunos constroem instruções para selecionar colunas de uma ou mais tabelas, filtrar registos com condições lógicas e ordenar resultados por critérios ascendentes ou descendentes. Estes conceitos ligam-se diretamente à normalização de tabelas, pois estruturas normalizadas aumentam a complexidade das consultas, exigindo junções, mas melhoram a integridade dos dados.

No Currículo Nacional para o 11.º ano, este tópico integra-se nas competências de Bases de Dados e Linguagens de Consulta do DGE para o secundário. Os alunos respondem a questões chave como o impacto da normalização na complexidade das consultas, a construção de SQL para extração precisa e a avaliação da eficiência de filtros e ordenações. Práticas iterativas ajudam a comparar abordagens, fomentando o pensamento computacional avançado.

O ensino ativo beneficia este tópico porque as consultas SQL ganham significado através de manipulação direta em bases de dados reais ou simuladas. Atividades colaborativas, como desafios de otimização, tornam conceitos abstractos concretos, promovem a depuração coletiva e reforçam a avaliação crítica de eficiência.

Questões-Chave

  1. Como é que a normalização de tabelas afeta a complexidade das nossas consultas?
  2. Construa consultas SQL para extrair informações específicas de uma base de dados.
  3. Avalie a eficiência de diferentes abordagens para filtrar e ordenar resultados de consultas.

Objetivos de Aprendizagem

  • Construir consultas SQL que selecionam colunas específicas de uma ou mais tabelas utilizando a cláusula SELECT e JOIN.
  • Filtrar registos em tabelas com base em condições lógicas complexas, utilizando a cláusula WHERE com operadores AND, OR e NOT.
  • Ordenar os resultados de uma consulta em ordem ascendente ou descendente com base em uma ou mais colunas, usando a cláusula ORDER BY.
  • Analisar o impacto da normalização de bases de dados na escrita de consultas SQL mais complexas, mas mais eficientes em termos de integridade.
  • Avaliar a eficiência de diferentes condições de filtragem e métodos de ordenação para otimizar a recuperação de dados.

Antes de Começar

Estrutura de Bases de Dados Relacionais

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

Tipos de Dados Fundamentais

Porquê: É essencial que os alunos conheçam os tipos de dados comuns (texto, número, data) para poderem construir condições de filtragem adequadas na cláusula WHERE.

Vocabulário-Chave

SELECTCláusula SQL utilizada para especificar as colunas que se pretende recuperar de uma ou mais tabelas.
FROMCláusula SQL que indica a tabela ou tabelas de onde os dados serão extraídos.
WHERECláusula SQL usada para filtrar os registos, retornando apenas aqueles que satisfazem uma condição específica.
ORDER BYCláusula SQL que ordena os registos retornados pela consulta numa ordem ascendente (ASC) ou descendente (DESC).
JOINInstrução SQL que combina linhas de duas ou mais tabelas com base numa coluna relacionada entre elas.

Atenção a estes erros comuns

Erro comumO WHERE filtra apenas após o SELECT completo.

O que ensinar em alternativa

O WHERE aplica-se antes da seleção final, otimizando a consulta. Atividades de pares com cronometragem de execução mostram esta diferença, ajudando os alunos a visualizarem o fluxo de processamento e a priorizarem filtros eficientes.

Erro comumORDER BY sem ASC/DESC ordena aleatoriamente.

O que ensinar em alternativa

ORDER BY usa ordem ascendente por defeito, mas especificar direcção é essencial para clareza. Desafios em pequenos grupos comparando resultados reforçam esta nuance, promovendo testes iterativos e discussão coletiva.

Erro comumNormalização simplifica sempre as consultas.

O que ensinar em alternativa

Normalização pode complicar com mais junções, mas evita redundâncias. Análises em turma de bases normalizadas vs. não normalizadas destacam trade-offs, fomentando avaliação crítica através de execução prática.

Ideias de aprendizagem ativa

Ver todas as atividades

Ligações ao Mundo Real

  • Analistas de dados em empresas de e-commerce utilizam consultas SQL para extrair informações sobre o comportamento de compra dos clientes, como produtos mais vendidos ou padrões de gastos, para otimizar campanhas de marketing.
  • Profissionais de marketing digital em agências como a Havas utilizam SQL para segmentar audiências em campanhas publicitárias online, selecionando utilizadores com base em dados demográficos e históricos de interação.
  • Gestores de bases de dados em instituições financeiras, como o Banco de Portugal, usam SQL para monitorizar transações, identificar anomalias e gerar relatórios de conformidade regulatória.

Ideias de Avaliação

Verificação Rápida

Apresente aos alunos uma pequena base de dados com duas tabelas (ex: Clientes e Encomendas). Peça-lhes para escreverem uma consulta SQL que selecione o nome dos clientes e as datas das suas encomendas, filtrando apenas as encomendas realizadas após uma data específica. Verifique se utilizam corretamente SELECT, FROM, WHERE e ORDER BY.

Bilhete de Saída

Distribua um pequeno conjunto de dados simulados e peça aos alunos para escreverem uma consulta SQL que retorne os 5 produtos mais caros de uma tabela de produtos. Na resposta, devem incluir a consulta SQL e uma breve explicação de como a cláusula ORDER BY e a limitação de resultados (se aplicável) foram usadas para encontrar a solução.

Questão para Discussão

Coloque a seguinte questão para discussão em pequenos grupos: 'Quando é mais vantajoso usar a cláusula WHERE com AND em vez de duas consultas separadas com WHERE?'. Peça aos grupos para apresentarem exemplos concretos que ilustrem a sua resposta, focando na eficiência e clareza da consulta.

Perguntas frequentes

Como ensinar consultas SELECT com WHERE no 11.º ano?
Comece com bases de dados simples de contexto escolar, como registos de alunos. Peça aos alunos para formularem perguntas em linguagem natural e convertê-las em SQL. Use ferramentas gratuitas como DB Browser for SQLite para execução imediata, iterando com feedback imediato para reforçar sintaxe e lógica.
Como é que o ensino ativo beneficia o aprendizado de SQL básico?
O ensino ativo torna SQL tangível através de desafios colaborativos e depuração em tempo real. Atividades em pares ou grupos, como competições de eficiência, incentivam experimentação, revelam erros comuns e constroem confiança. Estes métodos ligam teoria à prática, melhorando retenção e aplicação em projetos reais de bases de dados.
Qual o impacto da normalização nas consultas SQL?
A normalização reduz redundâncias, mas exige junções complexas em SELECT, aumentando o tempo de execução se não otimizada. Ensine avaliando consultas em bases normalizadas vs. desnomalizadas, medindo performance. Discuta índices para mitigar, alinhando com standards DGE de eficiência em linguagens de consulta.
Como avaliar a eficiência de ORDER BY em consultas?
Compare tempos de execução com e sem ORDER BY em conjuntos grandes de dados. Atribua tarefas onde alunos reescrevem consultas otimizadas por colunas indexadas. Use ferramentas como EXPLAIN em MySQL para visualizar planos de execução, fomentando análise crítica e ligação ao pensamento computacional.