🎯 ATIVIDADE 01 — O DATA HUB DO ARQUITETO
Bem-vindo ao início da sua jornada técnica no curso de Banco de Dados. Nesta primeira semana (4 aulas), vamos construir o seu "arsenal" de ferramentas. No mercado moderno, não basta conhecer um único banco; precisamos dominar a Persistência Poliglota. 🛡️🧩
🎯 Objetivo da Aula
Ao final desta semana, você será capaz de:
- Instalar e validar SGBDs Relacionais (MySQL e Postgres) e NoSQL (MongoDB e Cassandra).
- Configurar o ecossistema de versionamento (Git/GitHub) para gestão de artefatos.
- Estruturar um ambiente de documentação técnica usando draw.io para modelagem.
- Entender o papel de cada ferramenta no stack de um Arquiteto de Dados.
🏢 O Cenário Prático (Seu Desafio)
Você acaba de ser contratado como Analista de Infraestrutura de Dados na TecProExpress. A empresa precisa que cada desenvolvedor tenha um "Data Hub" local completo para testes e modelagem. Seu desafio é preparar este ambiente e garantir que todas as "peças" se comuniquem.
🧠 Fundamentos: A Teoria Traduzida
Por que tantas ferramentas? No mundo real, os dados têm "formas" e "velocidades" diferentes.
flowchart TD
Computer["🖥️ Seu Computador (Windows)"]
subgraph RelationalSQL ["SGBDs Relacionais (SQL)"]
Postgres["🐘 PostgreSQL (Porta 5432)"]
MySQL["🐬 MySQL (Porta 3306)"]
end
subgraph NoSQLDB ["SGBDs NoSQL"]
Mongo["🍃 MongoDB (Porta 27017)"]
Cassandra["🏛️ Cassandra (Porta 9042 / Docker Container)"]
end
subgraph Tools ["Ferramentas de Suporte"]
Git["🐙 Git / GitHub (Versionamento)"]
Drawio["🎨 draw.io (Modelagem)"]
end
Computer === RelationalSQL
Computer === NoSQLDB
Computer === Tools
style Computer fill:#eceff1,stroke:#37474f,stroke-width:2px
style RelationalSQL fill:#e3f2fd,stroke:#1e88e5
style NoSQLDB fill:#e8f5e9,stroke:#4caf50
style Tools fill:#fff8e1,stroke:#ffb300
1. SGBDs Relacionais (SQL) - O Armário de Aço
Imagine um arquivo de aço com gavetas etiquetadas. Tudo tem lugar certo e regras rígidas (Esquema Fixo).
- MySQL: O banco de dados mais popular do mundo para aplicações web.
- PostgreSQL: O "banco dos especialistas", focado em complexidade e integridade.
2. SGBDs NoSQL - A Caixa Flexível
Dados que mudam de formato ou chegam em alta velocidade.
- MongoDB (Documentos): Como uma pasta com arquivos JSON. Você guarda o que quiser.
- Cassandra (Colunas): Projetado para escalas gigantescas (Big Data), onde os dados são espalhados por vários servidores.
3. Versionamento e Container - O Passaporte e o Navio
- Git/GitHub: O histórico de tudo o que você constrói. Funciona como um "Save Game" do seu código.
- Docker: Permite rodar bancos complexos (como o Cassandra) sem "sujar" o seu Windows, criando mini-computadores isolados.
🛠️ O Arsenal Tecnológico (Guia de Ferramentas)
🐬 MySQL & 🐘 PostgreSQL
São os motores relacionais que daremos suporte ao longo do curso. Para interagir com eles, usamos interfaces visuais robustas:
- MySQL Server + Workbench: Download Oficial do MySQL (Recomendado o instalador completo para Windows).
- PostgreSQL: Download Oficial do PostgreSQL (Recomendado Versão 16 ou 17. O instalador já inclui a ferramenta visual pgAdmin).
- DBeaver Community: Download Oficial do DBeaver (Uma ferramenta universal e leve para gerenciar qualquer banco SQL via JDBC).
🍃 MongoDB Compass
Diferente do SQL, o MongoDB não usa tabelas rígidas. O Compass é a interface oficial para visualizar seus dados como documentos JSON flexíveis.
- MongoDB Community Server + Compass: Download Oficial do MongoDB
🎨 draw.io: Sua Prancheta de Desenho
Antes de criar código, desenhamos a "Planta Baixa" dos dados (MER).
- Como usar: Você pode usar online em draw.io ou baixar a versão Desktop. Ative a biblioteca de formas Entity Relation no canto inferior esquerdo para ter acesso aos símbolos do padrão pé de galinha.
- Exportação: Sempre salve seu arquivo fonte no formato
.drawioe exporte a imagem como.png(lembre-se de marcar a caixa "Incluir cópia do meu diagrama" para embutir os dados do draw.io na própria imagem).
🚀 Git & GitHub
O GitHub é o portfólio profissional do desenvolvedor moderno.
- Git: Download Oficial do Git
- Fluxo: Você faz o trabalho localmente ->
git add .->git commit -m "mensagem"->git pushpara sincronizar com a nuvem.
📖 Exemplo Guiado: Validando a Saúde do Ambiente
Não basta instalar; é preciso testar se os "corações" dos bancos estão batendo nas portas corretas.
| Ferramenta | Porta Padrão | O que testar? | Comando / Ação | Resultado Esperado |
|---|---|---|---|---|
| MySQL | 3306 | Conexão local | Abrir terminal e rodar mysql -u root -p | Prompt solicitando senha do admin |
| PostgreSQL | 5432 | Versão ativa | No pgAdmin ou DBeaver, rodar SELECT version(); | Versão 16/17 no console de dados |
| MongoDB | 27017 | Serviço | Conectar o MongoDB Compass em mongodb://localhost:27017 | Visualizar bancos de sistema (admin, config) |
| Git | N/A | Instalação | Rodar git --version no prompt/powershell | Exibição da versão do Git instalada |
🛠️ Prática Obrigatória 1: Setup dos Motores
Cenário: Instalação oficial na TecProExpress.
- Instalação: Faça o download e instale o PostgreSQL (com pgAdmin), o MySQL (com Workbench ou DBeaver) e o MongoDB Compass.
- Cassandra via Docker: Abra o terminal do PowerShell/Bash e execute:
(Nota: O mapeamentodocker run --name cassandra-tecpro -p 9042:9042 -d cassandra-p 9042:9042garante que o seu Windows consiga se comunicar com a porta padrão do Cassandra localmente). - Evidências: Capture screenshots (prints) mostrando:
- pgAdmin conectado ao PostgreSQL.
- DBeaver ou MySQL Workbench conectado ao MySQL.
- MongoDB Compass conectado com sucesso na porta
27017. - O container do Cassandra rodando no Docker Desktop ou via comando
docker ps.
🏁 Resultado Esperado (Para sua Referência)
Ao final, você terá os serviços de banco instalados, com conexões ativas nas portas locais (3306, 5432, 27017, 9042), prontos para as práticas do semestre.
🔍 Detalhamento Técnico:
- Mapeamento de Portas (
-p): Direciona o tráfego da rede local para dentro do container isolado. - LTS (Long Term Support): Em produção, sempre optamos por versões estáveis (LTS) dos bancos para evitar quebras em atualizações de sistemas legados.
🛠️ Prática Obrigatória 2: O Pipeline de Entrega
Cenário: Configuração do portfólio no GitHub.
- Repositório: Crie um repositório público chamado
atividades-banco-de-dados. - draw.io: Crie um diagrama conceitual simples chamado
infra_hub.drawio.pngmostrando seu computador conectando-se a caixas representandoMySQL (3306),PostgreSQL (5432),MongoDB (27017)eCassandra (9042).
📤 Instruções de Entrega (Microsoft Teams)
Após validar suas instalações e versionar suas pastas:
- Salve as evidências em uma pasta local estruturada.
- Exporte o diagrama de arquitetura do draw.io no formato
.drawio.png. - Certifique-se de fazer o
pushde sua pasta de setup para o seu repositório do GitHub. - Envie o link do seu repositório GitHub e anexe a imagem
infra_hub.drawio.pngna plataforma do Microsoft Teams. (Exemplo de entrega:Atividade_01_SeuNome.drawio.pnge link do repositório).
💡 Checkpoint de Lógica
[!IMPORTANT] Reflexão Profissional: Por que um gestor de TI prefere que você use Docker para o Cassandra em vez de instalar diretamente no Windows? (Resposta: Portabilidade e facilidade de desinstalação sem deixar rastros no sistema). 🧠🛡️
🔥 Desafio de Fixação (Opcional)
Nível: Sênior 🏆
Configure o DBeaver para conectar simultaneamente ao seu MySQL e ao seu PostgreSQL. Como isso facilita sua vida no dia a dia?
🔑 Gabarito de Código/Fórmulas Completo
Comandos de Versão:
-- Postgres/MySQL
SELECT version();
-- MongoDB
db.version();
-- Git
git --version
Comando Docker:
docker run --name cassandra-tecpro -p 9042:9042 -d cassandra