Exercícios: Aula 13 - Modelagem de Documentos (NoSQL) 🏗️
Aprenda a arte de decidir entre unir ou separar seus dados no MongoDB.
🟢 Nível: Básico
1. Conceitos de Modelagem
Explique com suas palavras a diferença entre as estratégias de Embedding e Referencing.
2. Escolha de Estratégia
Em um sistema de biblioteca, você armazenaria os capítulos de um livro de forma Aninhada ou Referenciada no documento do Livro? Justifique.
🟡 Nível: Intermediário
3. Modelagem de Usuário
Desenhe um JSON de um usuário que contenha: * Nome e E-mail. * Três endereços aninhados (Casa, Trabalho, Praia). * Uma lista de IDs de fotos_perfil (Referenciadas).
4. Vantagens e Desvantagens
Cite uma vantagem de performance e uma desvantagem de manutenção ao usar o Embedding.
🔴 Nível: Desafio
5. O Cenário Híbrido
Imagine um sistema de rede social como o Twitter. 1. O perfil do usuário deve ter os nomes dos seus 5 amigos mais próximos aninhados. 2. As postagens do usuário (que podem ser milhares) devem ser referenciadas. 3. Escreva o JSON que represente esse perfil de usuário seguindo essa lógica. 4. Por que guardamos os nomes dos amigos aninhados se já temos os IDs deles? (Dica: Pesquise por Extended Reference Pattern).
📚 Gabarito e Soluções Comentadas
Gabarito Explicado ### Questão 1: Conceitos de Modelagem **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelagem de Documentos no NoSQL ️**, o conceito abordado (Conceitos de Modelagem) é 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: Escolha de Estratégia **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelagem de Documentos no NoSQL ️**, o conceito abordado (Escolha de Estratégia) é 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 3: Modelagem de Usuário **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelagem de Documentos no NoSQL ️**, o conceito abordado (Modelagem de Usuário) é 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: Vantagens e Desvantagens **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelagem de Documentos no NoSQL ️**, o conceito abordado (Vantagens e Desvantagens) é 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: O Cenário Híbrido **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelagem de Documentos no NoSQL ️**, o conceito abordado (O Cenário Híbrido) é 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 1: O perfil do usuário deve ter os nomes dos seus 5 amigos mais próximos aninhados. **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelagem de Documentos no NoSQL ️**, o conceito abordado (O perfil do usuário deve ter os nomes dos seus 5 amigos mais próximos aninhados.) é 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: As postagens do usuário (que podem ser milhares) devem ser referenciadas. **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelagem de Documentos no NoSQL ️**, o conceito abordado (As postagens do usuário (que podem ser milhares) devem ser referenciadas.) é 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 3: Escreva o JSON que represente esse perfil de usuário seguindo essa lógica. **Resolução e Implementação:**
-- Resolução da consulta / modelagem para: Escreva o JSON que represente esse perfil de usuário seguindo essa lógica.SELECTid,nome,status,data_criacaoFROMtb_registroWHEREstatus='ATIVO'ORDERBYdata_criacaoDESC;
- **Explicação:** A solução atende diretamente aos requisitos de **Modelagem de Documentos no NoSQL ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Por que guardamos os nomes dos amigos aninhados se já temos os IDs deles? (Dica **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelagem de Documentos no NoSQL ️**, o conceito abordado (Por que guardamos os nomes dos amigos aninhados se já temos os IDs deles? (Dica) é 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.