BANCO DE DADOS NÃO RELACIONAIS – NOSQL Desafio Profissional Autoria: Rogério Ferreira
Leitura crítica: Sergio Eduardo Nunes
Caro aluno, o presente Desafio Porfissional é um material de auto estudo, ou
seja, para que você exercite os conhecimentos adquiridos no decorrer da disciplina, fazendo uma conexão entre a teoria estudada e a prática profissional. A resolução do Desafio não precisará ser postada ou compartilhada no ambiente virtual, também não se trata de uma atividade avaliativa. Vamos ao exercício!
1. Caso – Organização e Recuperação de dados
para uma construtora Uma construtora decidiu anunciar os seus projetos em uma famosa rede social, como estratégia de marketing para divulgá-los a um público maior. Ela contratou os serviços de uma empresa especializada em mídias sociais, que será responsável por criar conteúdo, divulgar na rede e produzir relatórios do alcance das postagens. Você foi contratado pela empresa de mídias para organizar e recuperar os dados que serão a fonte das informações para produção do relatório, de acordo com os requisitos especificados pela construtora, descritos a seguir:
Requisito 1: armazenar as informações básicas dos posts, como o
identificador (uma string) do post, a data, o texto, a quantidade de curtidas (likes), de comentários e compartilhamentos.
Requisito 2: armazenar as informações relacionadas aos comentários dos
posts, como ID, a data, a quantidade de curtidas (likes), o texto e o usuário que realizou o comentário.
Requisito 3: armazenar as informações básicas dos usuários que realizaram
comentários nas postagens, como ID, nome, apelido, idade e cidade.
Requisito 4: com base nos dados armazenados, o relatório deve mostrar as
seguintes informações:
• Nome das cidades de todos os usuários que realizaram comentários nas
postagens da construtora (sem nomes repetidos). • O identificador, a data e o engajamento de todas as postagens; considere como métrica de engajamento a soma das curtidas (likes), dos comentários e compartilhamentos das postagens. • A partir do apelido (nickname) de um usuário, mostrar todas as suas informações e aquelas relacionadas aos comentários realizados por ele. • Considerando todos os posts, mostrar apenas a data e o texto de todos os comentários dos posts que iniciem com o termo “Reclam”; o intuito é auxiliar na identificação de reclamações feitas por usuários.
Você foi orientado a definir a estrutura para implementar tais requisitos em um
modelo NoSQL (MongoDB). Assim, você precisa definir a estrutura dos documentos para armazenar as informações descritas nos Requisitos 1, 2 e 3, inserir alguns documentos de exemplo em cada coleção (instruções do tipo INSERT para executar no MongoDB), e, por fim, elaborar as consultas para recuperar as informações solicitadas no Requisito 4.
2. Caso – Papel do aluno e sua participação na
resolução do problema A solução do Desafio Profissional pressupõe que o aluno precise atuar em dois papéis diferentes: analista e programador de banco de dados. Um analista é responsável pelo projeto dos dados, ou seja, ele precisa analisar os requisitos do cliente e o contexto da aplicação para definir as estruturas em que os dados serão armazenados. No Desafio Profissional, o aluno utilizará as habilidades de analista para interpretar os Requisitos 1, 2 e 3, e definir a estrutura dos documentos em que os dados serão persistidos no modelo NoSQL. Por outro lado, um programador de banco de dados utiliza as estruturas definidas pelo analista para elaborar as instruções que recuperarão os dados solicitados pelo cliente. No Desafio Profissional, o aluno utilizará as habilidades exigidas para um programador para recuperar as informações que foram descritas pelo cliente no Requisito 4. 3. Resolução do Desafio Profissional Caro(a) aluno(a)! Lembre-se de que o conteúdo da disciplina deverá ser considerado no processo de resolução do desafio. Além disso, a Biblioteca Virtual está à disposição para pesquisas complementares. Outro ponto importante é que o trabalho desenvolvido por você, no processo de resolução do desafio, deverá ser submetido à um processo de autoavaliação. O objetivo é estimular a autocrítica e reflexão sobre o próprio desempenho a fim de aprimorar sua autonomia e envolvimento pelo próprio aprendizado. Para isso, você deverá levar em consideração os itens dispostos na grade de autoavaliação que se encontra disponível a seguir:
Tema Objetivos Gerais Objetivos Específicos Peso
Verificar se os 1) Os pressupostos teóricos foram apreendidos?
pressupostos 1) Utilização dos teóricos presentes 2) A problematização do caso contribuiu para sua referenciais na Leitura Digital aprendizagem? 20 teóricos foram utilizados para o cumprimento da 3) A problematização estimulou enriquecimento proposta. teórico/prático em relação à temática?
1) Você atingiu os objetivos propostos?
2) O Desafio Profissional foi resolvido com base na
Verificar se a fundamentação teórica e em pesquisas complementares? execução da tarefa 2) Execução da ocorreu de forma 30 tarefa 3) Você considera sua capacidade de articulação dos eficiente, conforme conceitos mobilizados satisfatória? sua proposta. 4) Você se sentiria capaz de se posicionar e argumentar caso a situação apresentada fosse real?
1) A resolução contempla as etapas explicitadas pelo
Desafio Profissional? Avaliar se o produto final apresentado 3) Estrutura do 2) O resultado final apresentado corresponde ao desafio como resolução do 30 trabalho final apresentado? Desafio Profissional é satisfatório. 3) O produto final elaborado por você é condizente com a proposta de solução?
1) Você aplicou os conhecimentos teóricos da disciplina?
2) Considera que o trabalho final expressa o
Avaliar se os conhecimento construído por você em termos práticos e objetivos de 4) Desafio teóricos? 20 aprendizagem foram alcançados. 3) O trabalho final demonstra as habilidades e competências desenvolvidas a partir dos objetivos propostos pelo Desafio Profissional?