Fundamentos de Programação/03 - Sistemas Reais/Semana 09 - Banco de Dados e SQL1 minsemana
Semana 09 — Banco de dados e SQL
Objetivo
Parar de tratar o banco como caixa onde os dados moram. A maioria dos problemas de performance que você vai enfrentar na carreira nasce aqui.
Tópicos
- 1. Joins
- 2. Agregações
- 3. Subqueries
- 4. Modelagem e Normalização · Denormalization (ref)
- 5. Índices · SQL Tuning (ref)
- 6. Transações e ACID
- 7. Problema N+1
- SQL vs NoSQL (ref)
Entregável
Modelar, popular e consultar um banco de verdade
- Modelar um domínio com 6+ tabelas, com chaves e relacionamentos explícitos
- Popular com volume suficiente para índice fazer diferença (10k+ linhas em pelo menos uma tabela)
- Escrever 15 queries, sendo 3 com join de 3+ tabelas
- Rodar
EXPLAINem 3 delas e anotar o plano antes e depois de criar um índice
O último item não está no plano original, mas é o que transforma "sei escrever SQL" em "sei por que essa query está lenta" — que é um item da Autoavaliação.
Domínio escolhido:
| # | Query | O que exercita | Tempo |
|---|---|---|---|
Revisão de sexta (30 min)
Reserve 30 minutos toda sexta. Sem isso você reaprende tudo no mês seguinte.
- Reler as notas da semana e preencher o campo
revisaode cada uma - O que eu não conseguiria explicar em voz alta agora?
- Marcar
status: dominadosó no que passou nesse teste
Anotações da semana
Parte de 03 - MOC Sistemas Reais · 00 - MOC Fundamentos de Programação