Identificação
Resumo
A aula 2 introduz o aluno ao raciocínio relacional: o que é um banco, por que usar um SGBD, e como sair de um minimundo em linguagem natural até um esquema executável em SQL. Cobrimos as três etapas de modelagem (conceitual → lógico → físico), os principais comandos DDL, os tipos de dados mais usados em PostgreSQL e as constraints que mantêm a integridade.
O fechamento apresenta a primeira família de comandos DQL/DML (SELECT, INSERT) e situa SQL no RM-ODP — preparando a equipe para escrever, ainda hoje à tarde, o esquema inicial do banco do projeto integrador.
Objetivos de aprendizagem
- OA-1Distinguir banco de dados, SGBD e modelo relacional, justificando por que uma planilha não substitui um banco.
- OA-2Modelar um minimundo em entidades, atributos e relacionamentos, identificando cardinalidades e chaves primárias.
- OA-3Traduzir um modelo conceitual em modelo lógico (tabelas, colunas, FKs).
- OA-4Escrever instruções
CREATE TABLEem PostgreSQL com tipos e constraints adequados (NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY,CHECK). - OA-5Aplicar os comandos básicos
INSERTeSELECTcomWHEREeORDER BY. - OA-6Identificar as 5 sublinguagens SQL (DDL, DQL, DML, DCL, TCL) e o papel de cada uma.
Pré-requisitos
- Aula 1 concluída: arquitetura cliente–servidor, papel das três camadas e matriz de RF/RN.
- Repositório do projeto criado a partir do template oficial e com Git Flow truncado configurado.
- PostgreSQL local instalado ou instância gerenciada (Supabase) acessível pela equipe.
- Cliente SQL pronto (
psql, DBeaver, TablePlus ou extensão SQL do VS Code).
Se a equipe não consegue conectar ao Postgres antes das 14h, o bloco de desenvolvimento da tarde fica comprometido. Resolver conectividade durante o autoestudo é parte do plano.
Cronograma do dia
Mesma estrutura da aula 1: três blocos de duas horas, com a janela da tarde dedicada a transformar o conteúdo em entrega real no projeto.
📚 Bloco 1 · Autoestudo
08h00 — 10h00Estudo individual orientado pelo material da aula 2, com checklist de instalação para garantir que ninguém chega à tarde sem ambiente.
- Leitura completa do Material da Aula 2 (modelo conceitual, lógico e SQL básico).
- Instalar/validar acesso ao PostgreSQL — abrir
psqle rodarSELECT version();. - Anotar 3 candidatas a entidades para o minimundo da equipe (com 4–6 atributos cada).
- Caderno de bordo: registrar dúvidas concretas sobre normalização e cardinalidade.
🎓 Bloco 2 · Instrução PE — Aula em metodologia ativa
10h00 — 12h00Encontro síncrono com o professor especialista. 15 minutos de daily seguidos de 1h45 de aula em metodologia ativa.
- 10h00 — 10h15 · Daily: andamento do repositório e impedimentos com Postgres.
- 10h15 — 12h00 · Aula com modelagem coletiva, live SQL e laboratório em pares.
🍴 Intervalo · Almoço
12h00 — 14h00Janela livre. Recomenda-se não tratar conteúdo da aula nesse período.
🛠️ Bloco 3 · Desenvolvimento do projeto
14h00 — 16h00Janela de trabalho da equipe sobre o projeto integrador, com mentoria disponível.
- Construir o diagrama ER do minimundo (Mermaid ou draw.io) versionado em
docs/banco/der.md. - Escrever o esquema lógico (tabelas + colunas + tipos + constraints) em
docs/banco/schema.md. - Criar o script
db/01_create_tables.sqlcom todos osCREATE TABLEda modelagem. - Executar o script no Postgres da equipe e validar com 3
INSERTs e 1SELECTde prova. - Abrir Merge Request
feat(db): esquema inicialcom link para o DER e evidência da execução.
Detalhamento da instrução PE (10h00 — 12h00)
Estrutura idêntica à aula 1: blocos curtos de exposição alternados com prática em pares e construção coletiva.
10h15
DailyDaily de abertura
Cada aluno responde, em até 1 minuto: como está o ambiente Postgres / quais entidades trouxe do autoestudo / qual minha dúvida concreta. O professor mapeia em quadro as dúvidas para encaixar nos blocos seguintes.
10h30
TalkBD vs. planilha · O que um SGBD entrega
Exposição curta (12 min) com contraste prático: a mesma "tabela" em planilha vs. em PostgreSQL — concorrência, integridade, transações. Encerra com a turma listando, em duplas, 3 falhas que aconteceriam só na planilha.
10h55
AtivaModelagem coletiva — do minimundo ao DER
Caso: Loja Universitária 🛍️. Em grupos de 3, cada grupo recebe um trecho do minimundo e propõe entidades, atributos e cardinalidades. Consolidação no quadro com revisão crítica do professor (FK explícita, cardinalidade nos dois lados).
11h10
TalkDo conceitual ao lógico · Tabelas, tipos e constraints
Tradução guiada do DER para tabelas. Apresentação dos tipos mais usados em Postgres (SERIAL, VARCHAR, INT, NUMERIC, DATE, BOOLEAN) e das constraints essenciais.
11h35
CodingLive coding — primeiro CREATE TABLE
O professor escreve ao vivo a tabela usuarios a partir do modelo lógico, comentando cada decisão. Em paralelo, em duplas, os alunos escrevem CREATE TABLE produtos e CREATE TABLE pedidos com FK para usuarios.
11h50
AtivaDesafio relâmpago de SQL
Em pares: receber um pedido de negócio e responder com INSERT + SELECT ... WHERE ... ORDER BY. Três pares apresentam, classe debate alternativas e identifica armadilhas (ausência de WHERE em UPDATE, etc.).
12h00
AtivaSíntese e contrato do dia
Cada aluno escreve no caderno de bordo, em uma frase, "a aula 2 me ensinou que...". O professor anuncia a entrega esperada das 14h às 16h: DER + script SQL + execução validada.
Estratégias de metodologia ativa
Mesmas três estratégias da aula 1, calibradas para o conteúdo de banco:
- Aprendizagem por problema — partir de um minimundo concreto (Loja Universitária) e modelar até virar SQL executável, sem teoria isolada.
- Live coding com participação — o professor escreve ao vivo o primeiro
CREATE TABLE, e a turma replica em pares a etapa seguinte na mesma janela de tempo. - Aprendizagem entre pares — duplas modelam, escrevem SQL e revisam código uma da outra antes de apresentar.
Toda exposição termina com SQL escrito pelo aluno. O conteúdo não é considerado "dado" enquanto o aluno não tiver rodado pelo menos uma query sua no banco.
Recursos e ferramentas
| Categoria | Recurso | Uso |
|---|---|---|
| Slides | slides/slide-lesson-2.html | Exposição na instrução PE |
| Material | materials/lesson-2-material.html | Autoestudo |
| SGBD | PostgreSQL 15+ (local ou Supabase) | Execução de DDL e DML |
| Cliente SQL | psql, DBeaver ou TablePlus | Conexão e execução de scripts |
| Diagrama | Mermaid (preferido) ou draw.io | DER versionado |
| Repositório | Pasta docs/banco/ e db/ | Schema e scripts SQL |
Verificação de aprendizagem
Avaliação formativa ao longo do dia, sem prova somativa. Os critérios abaixo são o que o professor observa para considerar a aula bem-sucedida para cada aluno.
- CR-1Participou da daily com diagnóstico claro do estado do ambiente Postgres.
- CR-2Modelou em grupo um trecho do minimundo com cardinalidade explícita nos dois lados da relação.
- CR-3Escreveu, em par, ao menos um
CREATE TABLEcom FK,NOT NULLe tipo apropriado. - CR-4Executou no banco da equipe um script SQL com
INSERTeSELECT ... WHERE ... ORDER BYsem erro. - CR-5Abriu Merge Request
feat(db): esquema inicialcom DER e evidência de execução até as 16h00.
Aluno que sair às 16h sem tabelas criadas no banco da equipe está em débito técnico para a aula 3 (CRUD), e deve recuperar antes da próxima daily.
Conexão com a aula 3
A aula 3 aprofunda o CRUD sobre o esquema construído hoje. Por isso:
- O esquema entregue hoje é insumo direto da próxima aula — qualquer ajuste de modelagem precisa ser feito antes da próxima daily.
- A massa de teste produzida nos
INSERTs de hoje será usada para praticarUPDATEeDELETEem sala. - O minimundo permanece o mesmo — não troque de domínio entre as aulas do bloco de banco.
Antes das 8h do próximo dia: ler o material da aula 3, listar 5 operações de negócio do minimundo que envolvem alteração ou remoção de dados, e anotar dúvidas sobre transações.