Pular para conteúdo

Exercícios 07 - Repositories e Banco de Dados 🗄️

🟢 Fáceis

  1. Fundamentos: O que significa a sigla SQL e para que ela serve?
  2. CRUD: Escreva o comando SQL para inserir um novo produto (nome "Mouse", preço 50.00) na tabela produtos.

🟡 Médios

  1. Relacionamentos: Explique a diferença entre uma Primary Key (PK) e uma Foreign Key (FK). Por que a FK é essencial para bancos relacionais?
  2. Isolamento: Por que usamos o padrão Repository em vez de escrever o código SQL diretamente dentro do Service?

🔴 Desafio

  1. Modelagem Real: Imagine um sistema de Blog. Temos Escritores e Artigos.
    • 1:N: Como você modelaria a ligação entre um Escritor e seus Artigos?
    • SQL: Escreva uma query que retorne o título de todos os artigos escritos pelo autor com id = 5.
    • Repository: Como ficaria a assinatura (nome e parâmetros) da função no ArtigoRepository responsável por essa busca?

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Fundamentos **Resposta Comentada:** - **Fundamentação:** No contexto de **Repositories e Banco de Dados (PostgreSQL) ️**, o conceito abordado (Fundamentos) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: CRUD **Resolução e Implementação:**
// Estrutura de implementação recomendada para CRUD
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Repositories e Banco de Dados (PostgreSQL) ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Relacionamentos **Resposta Comentada:** - **Fundamentação:** No contexto de **Repositories e Banco de Dados (PostgreSQL) ️**, o conceito abordado (Relacionamentos) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Isolamento **Resposta Comentada:** - **Fundamentação:** No contexto de **Repositories e Banco de Dados (PostgreSQL) ️**, o conceito abordado (Isolamento) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Modelagem Real **Resposta Comentada:** - **Fundamentação:** No contexto de **Repositories e Banco de Dados (PostgreSQL) ️**, o conceito abordado (Modelagem Real) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.