Skip to content

Introdução a Bases de Dados NoSQLAtividades e Estratégias de Ensino

A aprendizagem ativa funciona especialmente bem neste tópico porque os alunos precisam de distinguir conceitos abstratos como consistência eventual ou sharding de cenários práticos. Ao manipularem dados reais em diferentes modelos, os alunos interiorizam as diferenças de forma mais eficaz do que com explicações teóricas.

12° AnoInovação Digital e Pensamento Computacional Avançado4 atividades25 min50 min

Objetivos de Aprendizagem

  1. 1Comparar as vantagens e desvantagens de bases de dados relacionais e NoSQL em cenários de aplicação específicos.
  2. 2Analisar e justificar a escolha de uma base de dados NoSQL em detrimento de uma relacional para projetos com requisitos de escalabilidade e flexibilidade de esquema.
  3. 3Explicar o mecanismo de escalabilidade horizontal em bases de dados NoSQL, incluindo técnicas como sharding e replicação.
  4. 4Classificar diferentes tipos de bases de dados NoSQL (documento, chave-valor, coluna larga, grafo) com base nas suas estruturas e casos de uso típicos.

Pretende um plano de aula completo com estes objetivos? Gerar uma Missão

25 min·Pares

Comparação em Pares: Tabela SQL vs NoSQL

Os pares criam uma tabela comparativa listando vantagens e desvantagens de cada tipo de base de dados, baseados em critérios como escalabilidade, consistência e flexibilidade. Em seguida, partilham exemplos de casos de uso reais. Finalizam com uma votação em sala sobre o melhor para uma app de e-commerce.

Preparação e detalhes

Compare as vantagens e desvantagens das bases de dados relacionais e NoSQL.

Sugestão de Facilitação: Durante a Comparação em Pares, forneça tabelas estruturadas com colunas pré-preenchidas para os alunos compararem características como esquema, transações e linguagem de consulta, evitando dispersão.

Setup: Sala de aula comum, flexível para atividades de grupo durante a aula

Materials: Conteúdos pré-aula (vídeo/leitura com questões orientadoras), Verificação de preparação ou bilhete de entrada, Atividade de aplicação em sala de aula, Diário de reflexão

CompreenderAplicarAnalisarAutogestãoAutoconsciência
45 min·Pequenos grupos

Análise de Cenários: Grupos Pequenos

Divida a turma em grupos pequenos para analisar três cenários: rede social, loja online e IoT. Cada grupo decide e justifica se usar SQL ou NoSQL, explicando escalabilidade. Apresentam posters com diagramas simples.

Preparação e detalhes

Analise os cenários em que uma base de dados NoSQL seria mais adequada que uma relacional.

Sugestão de Facilitação: Na Análise de Cenários em grupos pequenos, atribua papéis específicos (ex: 'designer', 'analista de desempenho') para garantir participação equitativa e foco em aspetos técnicos.

Setup: Sala de aula comum, flexível para atividades de grupo durante a aula

Materials: Conteúdos pré-aula (vídeo/leitura com questões orientadoras), Verificação de preparação ou bilhete de entrada, Atividade de aplicação em sala de aula, Diário de reflexão

CompreenderAplicarAnalisarAutogestãoAutoconsciência
35 min·Turma inteira

Simulação de Escalabilidade: Classe Inteira

Use post-its ou ferramentas online para simular sharding: distribua 'dados' pela turma representando nós. Demonstre como adicionar nós aumenta capacidade sem downtime. Discuta colectivamente impactos na performance.

Preparação e detalhes

Explique como a escalabilidade horizontal é alcançada em bases de dados NoSQL.

Sugestão de Facilitação: Na Simulação de Escalabilidade, use ferramentas visuais como gráficos de load balancing em tempo real para tornar o impacto da adição de servidores tangível para os alunos.

Setup: Sala de aula comum, flexível para atividades de grupo durante a aula

Materials: Conteúdos pré-aula (vídeo/leitura com questões orientadoras), Verificação de preparação ou bilhete de entrada, Atividade de aplicação em sala de aula, Diário de reflexão

CompreenderAplicarAnalisarAutogestãoAutoconsciência
50 min·Individual

Protótipo Individual: MongoDB vs MySQL

Cada aluno configura instâncias simples gratuitas online de MongoDB e MySQL, insere dados não estruturados e compara tempos de query. Regista observações num relatório curto.

Preparação e detalhes

Compare as vantagens e desvantagens das bases de dados relacionais e NoSQL.

Sugestão de Facilitação: No Protótipo Individual, disponibilize tutoriais passo-a-passo com capturas de ecrã para os alunos não ficarem bloqueados por detalhes técnicos de configuração.

Setup: Sala de aula comum, flexível para atividades de grupo durante a aula

Materials: Conteúdos pré-aula (vídeo/leitura com questões orientadoras), Verificação de preparação ou bilhete de entrada, Atividade de aplicação em sala de aula, Diário de reflexão

CompreenderAplicarAnalisarAutogestãoAutoconsciência

Ensinar Este Tópico

Este tópico beneficia de uma abordagem construtivista, onde os alunos constroem conhecimento através de experiências práticas em vez de receberem definições teóricas. Evite começar com conceitos abstratos como 'eventual consistency'. Em vez disso, introduza-os após os alunos terem experienciado limitações de consistência em cenários reais. Pesquisas mostram que a comparação direta entre SQL e NoSQL em atividades hands-on reduz significativamente os equívocos comuns sobre escalabilidade.

O Que Esperar

No final destas atividades, espera-se que os alunos consigam comparar criticamente modelos SQL e NoSQL, identificar casos de uso adequados para cada um e explicar trade-offs de escalabilidade e consistência com exemplos concretos. A participação ativa em debates e simulações é essencial para consolidar esta compreensão.

Estas atividades são um ponto de partida. A missão completa é a experiência.

  • Guião completo de facilitação com falas do professor
  • Materiais imprimíveis para o aluno, prontos para a aula
  • Estratégias de diferenciação para cada tipo de aluno
Gerar uma Missão

Atenção a estes erros comuns

Erro comumDurante a Comparação em Pares: Tabela SQL vs NoSQL, watch for students assuming that NoSQL never requires schema validation.

O que ensinar em alternativa

Peça aos alunos que construam colaborativamente um documento JSON com validações implícitas no MongoDB (usando $jsonSchema) e comparem com a definição de tabela SQL, destacando que ambas exigem regras de consistência.

Erro comumDurante a Análise de Cenários: Grupos Pequenos, watch for students generalizing that NoSQL is always superior for scalability.

O que ensinar em alternativa

Forneça casos de estudo com métricas reais de performance (ex: tempo de resposta em transações ACID vs eventual consistency) e peça aos grupos que apresentem trade-offs, usando os dados para fundamentar as suas conclusões.

Erro comumDurante a Simulação de Escalabilidade: Classe Inteira, watch for students believing that horizontal scaling in NoSQL is automatic.

O que ensinar em alternativa

Durante a simulação, mostre passo-a-passo como configurar sharding no MongoDB (usando mongos e config servers) e peça aos alunos que registem manualmente o particionamento de dados antes e depois de adicionarem um nó.

Ideias de Avaliação

Bilhete de Saída

Após a Comparação em Pares: Tabela SQL vs NoSQL, recolha cartões onde os alunos escrevam um cenário onde uma base de dados NoSQL seria preferível a uma relacional e justifiquem com uma característica específica (ex: escalabilidade, flexibilidade de esquema). Avalie pela clareza da justificação e uso de terminologia correta.

Questão para Discussão

Durante a Análise de Cenários: Grupos Pequenos, lance a discussão com a pergunta: 'Imaginem que estão a desenvolver uma aplicação para gerir um inventário de uma loja pequena vs. um inventário de uma grande cadeia de supermercados com vendas online. Que tipo de base de dados escolheriam para cada cenário e porquê?' Avalie pela profundidade da análise de requisitos e coerência na escolha de modelos.

Verificação Rápida

Durante a Simulação de Escalabilidade: Classe Inteira, após explicar sharding, mostre um diagrama simplificado de uma base de dados distribuída e pergunte: 'Se adicionarmos mais um servidor para processar leituras, que técnica de escalabilidade estamos a usar primariamente? E se quisermos garantir que os dados não se perdem se um servidor falhar?' Avalie pela capacidade de ligar conceitos a ações práticas.

Extensões e Apoio

  • Desafio: Peça aos alunos que projetem uma arquitetura híbrida (SQL + NoSQL) para uma rede social com milhões de utilizadores, apresentando-a num formato de pitch de 2 minutos com diagramas visuais.
  • Scaffolding: Para alunos com dificuldades, forneça templates de código pré-configurados para o Protótipo Individual, focando apenas nas diferenças de inserção de dados entre MongoDB e MySQL.
  • Deeper exploration: Organize uma sessão de 'debugging colaborativo' onde os alunos analisam logs de um cluster NoSQL em falha e propõem soluções de recuperação, usando documentação técnica real.

Vocabulário-Chave

Base de Dados NoSQLUm tipo de base de dados que não segue o modelo relacional tradicional e permite maior flexibilidade e escalabilidade. O termo 'NoSQL' significa 'Not Only SQL'.
Escalabilidade HorizontalA capacidade de um sistema de base de dados de lidar com um aumento de carga adicionando mais máquinas (nós) à infraestrutura existente. É um pilar das bases de dados NoSQL.
ShardingUma técnica de escalabilidade horizontal onde os dados são divididos em partes menores (shards) e distribuídos por múltiplos servidores. Cada shard contém um subconjunto dos dados totais.
ReplicaçãoO processo de criar e manter cópias idênticas de dados em múltiplos servidores. A replicação aumenta a disponibilidade e a tolerância a falhas, e pode também auxiliar na distribuição de carga de leitura.
Esquema DinâmicoA capacidade de uma base de dados de aceitar dados sem uma estrutura pré-definida e rígida. Permite que diferentes documentos ou registos dentro da mesma coleção tenham campos distintos.

Preparado para lecionar Introdução a Bases de Dados NoSQL?

Gere uma missão completa com tudo o que precisa

Gerar uma Missão