Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🎯 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:

🍃 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.

🎨 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 .drawio e 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 push para 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.

FerramentaPorta PadrãoO que testar?Comando / AçãoResultado Esperado
MySQL3306Conexão localAbrir terminal e rodar mysql -u root -pPrompt solicitando senha do admin
PostgreSQL5432Versão ativaNo pgAdmin ou DBeaver, rodar SELECT version();Versão 16/17 no console de dados
MongoDB27017ServiçoConectar o MongoDB Compass em mongodb://localhost:27017Visualizar bancos de sistema (admin, config)
GitN/AInstalaçãoRodar git --version no prompt/powershellExibição da versão do Git instalada

🛠️ Prática Obrigatória 1: Setup dos Motores

Cenário: Instalação oficial na TecProExpress.

  1. Instalação: Faça o download e instale o PostgreSQL (com pgAdmin), o MySQL (com Workbench ou DBeaver) e o MongoDB Compass.
  2. Cassandra via Docker: Abra o terminal do PowerShell/Bash e execute:
    docker run --name cassandra-tecpro -p 9042:9042 -d cassandra
    
    (Nota: O mapeamento -p 9042:9042 garante que o seu Windows consiga se comunicar com a porta padrão do Cassandra localmente).
  3. 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.

  1. Repositório: Crie um repositório público chamado atividades-banco-de-dados.
  2. draw.io: Crie um diagrama conceitual simples chamado infra_hub.drawio.png mostrando seu computador conectando-se a caixas representando MySQL (3306), PostgreSQL (5432), MongoDB (27017) e Cassandra (9042).

📤 Instruções de Entrega (Microsoft Teams)

Após validar suas instalações e versionar suas pastas:

  1. Salve as evidências em uma pasta local estruturada.
  2. Exporte o diagrama de arquitetura do draw.io no formato .drawio.png.
  3. Certifique-se de fazer o push de sua pasta de setup para o seu repositório do GitHub.
  4. Envie o link do seu repositório GitHub e anexe a imagem infra_hub.drawio.png na plataforma do Microsoft Teams. (Exemplo de entrega: Atividade_01_SeuNome.drawio.png e 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