Pular para conteúdo

Aula 07 - Repositories e Banco de Dados 🗄️

Onde a informação descansa


Agenda 📅

  1. Por que Bancos de Dados?
  2. PostgreSQL: O Robusto
  3. SQL Básico (SELECT, INSERT...)
  4. Relacionamentos (1:N, N:N)
  5. Camada de Persistence
  6. O Padrão Repository

1. Persistência de Dados 💾

  • Sem banco, o servidor esquece tudo ao reiniciar.
  • Precisamos de segurança e integridade.
  • Estritamente Tipado: O banco garante o formato.

2. Por que PostgreSQL? 🐘

  • Código Aberto (Open Source).
  • Extremamente confiável (ACID).
  • Suporta dados complexos (JSONB).

3. SQL: A Linguagem Universal 🗣️

-- Buscar usuários VIP
SELECT * FROM usuarios 
WHERE tipo = 'VIP' 
ORDER BY nome;
  • DDL: Define a estrutura (Tabelas).
  • DML: Manipula os dados (Linhas).

4. O Coração: Relacionamentos 🔗

  • 1:N: Um cliente, muitos pedidos.
  • N:N: Muitos alunos, muitos cursos.
  • Foreign Key: A âncora que liga tudo.

5. Camada de Persistence 🧱

  • O código que conversa com o driver do banco.
  • Onde as queries são traduzidas para o código.

6. Padrão Repository 📥

  • "Não me diga como, diga O QUE você quer".
  • Isola o SQL da regra de negócio.
// No Service
userRepository.findByEmail(email);

7. Migrations 📜

  • Controle de versão para o Banco.
  • Permite "voltar no tempo" se algo quebrar.
  • Mantém o time em sincronia.

Desafio SQL ⚡

Qual comando você usaria para mudar o preço de todos os produtos da categoria 'Games' para 99.90?


Resumo ✅

  • Bancos de dados dão memória ao sistema.
  • PostgreSQL é o padrão da indústria.
  • SQL é habilidade obrigatória para backend.
  • Repository Pattern traz flexibilidade.

Próxima Aula: Integridade! ✅

Validação e Boas Práticas

  • Garantindo que dados "sujos" não entrem no banco.
  • Tratamento de exceções de banco.

Dúvidas? 🗄️