Capacitação introdutória de MySQL e SQL para os membros da liga acadêmica. Duração de 2 horas exatas, sem pré-requisito de banco de dados.
Este é o repositório de CÓDIGO. Aqui ficam as fontes:
.texdo guia e dos slides, scripts SQL, ambiente Docker e o histórico de desenvolvimento. O material pronto é publicado automaticamente em andradasdev/sql. Correções e contribuições vão aqui.
- Explicar o que é um SGBD e o que significa "relacional"
- Conectar-se a um servidor MySQL usando um cliente SQL
- Criar banco e tabela com tipos, chave primária e restrições
- Executar o CRUD:
INSERT,SELECT,UPDATE,DELETE - Filtrar e ordenar com
WHERE,ORDER BY,LIMIT - Relacionar duas tabelas com chave estrangeira e consultá-las com
JOIN
Fora do escopo: Docker, normalização formal, índices, transações, views, procedures, backup e NoSQL. Cada um desses é uma capacitação inteira.
| # | Bloco | Início | Duração |
|---|---|---|---|
| 0 | Abertura, objetivos e escopo | 00:00 | 5 min |
| 1 | Conceitos-base: dado, banco, SGBD, relacional, SQL | 00:05 | 15 min |
| 2 | Ambiente e cliente SQL: todos conectados | 00:20 | 15 min |
| 3 | DDL: banco, tipos, tabela, chave primária | 00:35 | 20 min |
| — | Pausa | 00:55 | 5 min |
| 4 | INSERT e SELECT com filtros |
01:00 | 25 min |
| 5 | UPDATE, DELETE e o perigo do WHERE ausente |
01:25 | 10 min |
| 6 | Chave estrangeira e JOIN |
01:35 | 20 min |
| 7 | Erros comuns, próximos passos e dúvidas | 01:55 | 5 min |
| Total | 120 min |
Você não instala nada. Basta o navegador.
-
Abra a URL do phpMyAdmin que o instrutor passar
-
Entre com usuário
alunoe senhaaluno -
Na aba SQL, crie o seu banco — troque
SEUNOMEpelo seu primeiro nome:CREATE DATABASE liga_SEUNOME CHARACTER SET utf8mb4; USE liga_SEUNOME;
⚠️ Só letras minúsculas, sem acento e sem espaço:liga_joao, nuncaliga_João. O login da turma só tem permissão em bancos que comecem comliga_— qualquer outro nome retornaERROR 1044: Access denied.
O script completo da aula está em materials/liga.sql.
cd infrastructure
cp .env.example .env
# gere uma senha forte para o root e coloque no .env
openssl rand -base64 24 | tr -dc 'A-Za-z0-9' ; echo
docker compose up -d # MySQL + phpMyAdmin
docker compose --profile tunnel up -d # + túnel público para a turmaO passo a passo de exposição para a turma, com o checklist de segurança, está
em infrastructure/README.md.
| Banco | Acesso | |
|---|---|---|
| Demonstração no telão | cap |
só root |
| Exercícios da turma | liga_<nome> |
usuário aluno |
mysql-training/
├── docs/ conteúdo didático
│ ├── capacitacao.md base intelectual, em Markdown
│ ├── guia.tex apostila (abnTeX2, compilar com XeLaTeX)
│ ├── apresentacao.tex slides de projeção
│ ├── apresentacao_notes.tex slides + notas do apresentador (2ª tela)
│ ├── pages/ capítulos, slides, preâmbulos e bibliografia
│ └── assets/ fontes, logos e imagens
├── infrastructure/ ambiente da aula
│ ├── compose.yml MySQL 8.4 + phpMyAdmin + ngrok
│ ├── .env.example modelo de configuração (sem segredos)
│ └── init/ cria o banco 'cap' e libera 'liga_*' ao aluno
├── materials/
│ └── liga.sql script completo da aula, para o participante
└── templates/ modelos LaTeX de referência (não é conteúdo)
A cada push na main, o workflow .github/workflows/build.yml:
- compila os
.texdedocs/ - verifica se os PDFs saíram íntegros (citação ou referência quebrada barra o build)
- commita os PDFs aqui
- envia
guia.pdf,apresentacao.pdfeliga.sqlpara andradasdev/sql, onde um segundo workflow publica o site
A versão do apresentador (apresentacao_notes.pdf) não é publicada — ela
contém o roteiro de condução da aula e fica só aqui.
Isso exige o secret
PUBLISH_TOKENneste repositório. O passo a passo está em documentacao/autenticacao-github-actions.md, no repositório de publicação.
O PDF é gerado automaticamente pelo GitHub Actions a cada push. Para compilar localmente:
sudo apt install -y texlive-latex-extra texlive-publishers \
texlive-xetex texlive-lang-portuguese \
fonts-lmodern latexmk
cd docs
latexmk -xelatex guia.tex # apostila
latexmk -xelatex apresentacao.tex # slides para o projetor
latexmk -xelatex apresentacao_notes.tex # slides com notas, para o seu monitorDurante a aula: abra
apresentacao.pdfno projetor eapresentacao_notes.pdfno seu monitor. O segundo tem, em cada slide, o roteiro de fala, a ação esperada da turma e o relógio acumulado da capacitação.
XeLaTeX é obrigatório: a fonte Lexend é carregada de arquivos locais via
fontspec. Compdflatexa compilação falha.
Este repositório usa licença dupla:
- Código (
compose.yml, scripts SQL, workflows, fontes LaTeX) — MIT - Conteúdo didático (guia, apresentação, textos, exercícios) — CC BY-SA 4.0
A fonte Lexend está sob SIL Open Font License 1.1 (aviso).
Ronivaldo Domingues de Andrade LinkedIn: ronidomingues · GitHub: @ronidomingues 📍 Rio de Janeiro — RJ