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.
Sobre este tópico
A Programação Orientada a Objetos (POO) representa uma mudança de paradigma essencial no 11º ano, movendo o foco de funções isoladas para a criação de sistemas modulares baseados em objetos. Este tópico introduz conceitos fundamentais como classes, objetos, encapsulamento, herança e polimorfismo, alinhando-se com as práticas da indústria de software moderna.
Ao aprender POO, os alunos desenvolvem a capacidade de modelar a realidade de forma abstrata. Por exemplo, ao criar uma classe 'Veículo', podem derivar 'Carro' e 'Mota', reutilizando código e facilitando a manutenção. Este método promove a organização do pensamento e a escalabilidade dos projetos, competências vitais para o desenvolvimento de aplicações complexas.
Este tema ganha vida quando os alunos deixam de ver código como linhas de texto e passam a vê-lo como peças de um ecossistema interligado, algo que se consegue através da modelação colaborativa de sistemas familiares.
Questões-Chave
- Como podemos aplicar os princípios da programação orientada a objetos para modelar soluções de software robustas e reutilizáveis?
- De que forma os princípios de design de interface e usabilidade contribuem para uma experiência do utilizador mais eficaz?
- Analise como a escolha entre desenvolvimento nativo, híbrido e web afeta a qualidade e a manutenibilidade de uma aplicação.
Objetivos de Aprendizagem
- Identificar as entidades principais e os seus atributos num cenário de dados específico.
- Classificar atributos como primitivos ou compostos, e como uni-valorados ou multi-valorados.
- Desenhar um modelo entidade-atributo simples para representar dados de forma estruturada.
- Explicar a importância da normalização de dados na fase de modelação para evitar redundâncias.
Antes de Começar
Porquê: Os alunos precisam de compreender o conceito de variáveis e tipos de dados básicos para entender o que são atributos e os seus valores.
Porquê: Uma compreensão básica de tabelas, linhas e colunas é útil para contextualizar a modelação de entidades e atributos.
Vocabulário-Chave
| Entidade | Um objeto ou conceito do mundo real sobre o qual se pretende armazenar informação. Exemplos incluem 'Cliente' ou 'Produto'. |
| Atributo | Uma propriedade ou característica que descreve uma entidade. Para a entidade 'Cliente', os atributos podem ser 'nome' ou 'morada'. |
| Chave Primária | Um atributo ou conjunto de atributos que identifica de forma única cada registo numa tabela de base de dados. Garante que não existem linhas duplicadas. |
| Atributo Composto | Um atributo que pode ser dividido em partes menores. Por exemplo, um atributo 'morada' pode ser decomposto em 'rua', 'cidade' e 'código postal'. |
| Atributo Multi-valorado | Um atributo que pode ter múltiplos valores para uma única entidade. Por exemplo, um 'aluno' pode ter vários 'números de telefone'. |
Atenção a estes erros comuns
Erro comumUma classe e um objeto são a mesma coisa.
O que ensinar em alternativa
É comum confundir o molde com o produto. Através da analogia da planta de uma casa (classe) versus a casa construída (objeto), e da criação prática de múltiplas instâncias no código, os alunos percebem a distinção.
Erro comumA herança deve ser usada para tudo o que pareça semelhante.
O que ensinar em alternativa
Muitos alunos forçam hierarquias desnecessárias. Discussões sobre o princípio 'é um' (is-a) ajudam a clarificar que a herança só deve ser usada quando existe uma relação conceptual real, evitando código confuso e rígido.
Ideias de aprendizagem ativa
Ver todas as atividadesDramatização: O Sistema de Objetos Vivo
Cada aluno assume o papel de um objeto (ex: num sistema escolar, temos o Aluno, o Professor, a Disciplina). Devem interagir enviando 'mensagens' (pedidos de métodos) uns aos outros, respeitando o encapsulamento (não podem ver os dados privados dos outros).
Círculo de Investigação: Engenharia Inversa de Apps
Em grupos, os alunos escolhem uma aplicação comum (ex: Spotify ou Instagram) e tentam identificar as classes principais, os seus atributos e métodos. Devem desenhar um diagrama de classes simplificado no quadro para apresentar à turma.
Pensar-Partilhar-Apresentar: O Desafio da Herança
O professor apresenta um problema de redundância de código. Individualmente, os alunos pensam como usar a herança para resolver; em pares, refinam a hierarquia de classes; e partilham a solução mais elegante com o grupo.
Ligações ao Mundo Real
- Bases de dados de sistemas de gestão de relacionamento com o cliente (CRM), como a Salesforce, utilizam a modelação de entidades e atributos para organizar informações sobre clientes, contactos e oportunidades de negócio.
- Sistemas de gestão de inventário em grandes superfícies comerciais, como o Continente ou o IKEA, modelam entidades como 'Produto', 'Fornecedor' e 'Stock', com atributos específicos para cada uma, permitindo o controlo rigoroso dos bens.
- Plataformas de redes sociais como o Facebook ou o Instagram modelam entidades como 'Utilizador', 'Publicação' e 'Comentário', definindo atributos para cada uma para gerir perfis, conteúdos e interações.
Ideias de Avaliação
Entregue aos alunos uma folha com a descrição de um cenário simples (ex: uma biblioteca). Peça-lhes para identificarem duas entidades principais e listarem três atributos para cada uma. Peça também para identificarem qual seria uma boa chave primária para uma das entidades.
Projete no quadro um modelo entidade-atributo simplificado. Faça perguntas diretas aos alunos: 'Este atributo é uni-valorado ou multi-valorado?', 'Este atributo é composto? Se sim, quais são as suas partes?', 'Qual a função da chave primária neste modelo?'
Coloque a seguinte questão para discussão em pequenos grupos: 'Imaginem que estão a projetar uma base de dados para uma loja de videojogos. Que entidades seriam importantes? Que atributos descreveriam cada uma? Como poderiam lidar com atributos como 'géneros' de um jogo, que podem ser vários?'
Perguntas frequentes
O que é o encapsulamento e para que serve?
Qual é a diferença entre um atributo e um método?
Como explicar o polimorfismo de forma simples?
Por que razão a POO beneficia de métodos de aprendizagem ativa?
Mais em Desenvolvimento de Aplicações e Interfaces
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
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.
2 methodologies