Baixe o app para aproveitar ainda mais
Prévia do material em texto
01 ENGENHARIA DE SOFTWARE BACHARELADO Bruna Villanova da silva (RA: 33554077) 02 Portfólio – relatório de aula prática Nome da disciplina: Bancos de Dados Não Relacionais Trabalho realizado para a Universidade Anhanguera, como requisito para a obtenção de média parcial na disciplina de Computação em nuvem a objetos do 5º semestre, com o intuito de compreender e aplicar os conceitos teóricos em situações práticas. Orientadora: Gilberto Fernandes Junior SUMÁRIO 1 INTRODUÇÃO........................................................................................................ 4 2 DESENVOLVIMENTO................................................................................................5 2.1 METODOLOGIA........................................................................................... .... .. 5 2.2 RESULTADOS............................................................................... ....... ........ ..... 8 3 CONCLUSÃO........................................................................................... ...... ..... 15 REFERÊNCIAS........................................................................................................ ...16 1. INTRODUÇÃO Os bancos de dados se diferenciam em dois grandes grupos principais: os relacionais e não relacionais. Bancos de dados relacionais são estruturados e compreendem a linguagem Structured Query Language ou SQL, já os bancos de dados não relacionais, pelo contrário, são altamente diversificados, conhecidos como NoSQL e incorporam uma linguagem diferenciada (AZURE, 2023). Um banco de dados não relacional, são sistemas de gerenciamento de dados que diferem dos bancos de dados relacionais tradicionais em sua estrutura e modelo de dados. Ao contrário dos bancos de dados relacionais, que utilizam um esquema fixo e tabelas para organizar dados, os bancos de dados NoSQL são mais flexíveis e podem armazenar dados de formas variadas, como documentos, pares chave-valor, colunas ou grafos. A criação de um b anco de dados no MongoDB Compass é uma etapa fundamental para a organização e armazenamento eficiente de dados. O MongoDB Compass é uma interface gráfica intuitiva e poderosa que facilita a administração do banco de dados MongoDB. Como uma interface gráfica de usuário (GUI), o Compass oferece uma maneira eficaz e amigável de realizar tarefas relacionadas ao gerenciamento, consulta e visualização de dados em bancos de dados MongoDB, eliminando a necessidade de comandos complexos e técnicos, tornando-o uma excelente escolha tanto para iniciantes quanto para profissionais experientes em bancos de dados, simplificando o processo de interação com bancos de dados orientados a documentos, permitindo que os usuários explorem seus dados de forma visual e interativa. O objetivo dessa atividade prática foi criar um banco de dados não relacional para vendas, inserindo dados e consultando-os, para demonstrar na prática o uso do banco de dados não relacional, utilizando o MongoDB 2. DESENVOLVIMENTO O MongoDB Compass é uma poderosa ferramenta gráfica de gerenciamento de bancos de dados MongoDB. Ela oferece uma interface amigável para interagir com seus bancos de dados, coleções e documentos, permitindo a criação, consulta e manipulação de dados de maneira intuitiva. Para a instalação é necessário fazer o download e instalar o MongoDB Compass. Ele está disponível no site oficial do MongoDB. https://www.mongodb.com/try/download/compass Nesta atividade foram realizadas duas atividades propostas e o esperado foi que ao término da prática, o aluno tenha aprendido a desenvolver bancos de dados não relacionais orientados a documentos utilizando o MongoDB, incluindo a criação de collections e inserção/atualização de documentos, bem como a realização de consultas à base de dados. 2.1 METODOLOGIA PROCEDIMENTO/ATIVIDADE Nº 1 Criar um banco de dados no MongoDB Compass, inserir e atualizar documentos em uma collection. Procedimentos para a realização da atividade: Nesta atividade você deverá criar um banco de dados no MongoDB Compass chamado de “lojadb”. Ele será utilizado no contexto de u ma loja, onde você deverá cadastrar documentos referentes a vendas efetuadas pela loja. Etapa 1: Crie o banco de dados, e em seguida realize a criação de uma collection “vendas”. Agora insira os seguintes dados conforme o conhecimento adquirido nas aulas utilizando o comando “insert” pela Shell do mongodb. • Inicialmente, vamos inserir apenas os dados básicos dos clientes que realizaram compras na loja. Para isso, utilize as informações na tabela a seguir. Note que o campo telefone deverá ser adicionado como uma Array. (Note que como estamos falando de um banco de dados não relacional, nós não temos uma estrutura definida. Então cada cliente não precisa necessariamente ter os mesmos campos. Por exemplo, o cliente Marcos não tem e-mail, portanto o campo e-mail não precisa ser adicionado em sua entrada. Além disso, veja que os três clientes têm quantidades diferentes de telefones.) Etapa 2: Vamos continuar o processo de inserção de dados que iniciamos na etapa anterior. Para isso, você terá de atualizar os documentos já presentes na collection. Vamos adicionar o endereço de cada cliente conforme a tabela a seguir. O endereço deverá ser inserido como um campo do tipo Objeto, separando dentro dele a rua, número, complemento, cidade e estado Por fim, vamos adicionar os dados das compras efetuadas por cada cliente. Os dados das compras deverão ser adicionados nos mesmos documentos com as informações dos clientes. Um outro detalhe é que agora você irá utilizar o conceito de Arrays de Objetos no campo “compras”. PROCEDIMENTO/ATIVIDADE Nº 2 Realizar pesquisas e consultas em um banco de dados não relacional (MongoDB). Até aqui você já criou o banco de dados “lojadb”, uma collection chamada “vendas” e inseriu documentos (dados) nesta collection, inclusive atualizando-os posteriormente. Agora, você irá utilizar este banco que já está criado para realizar consultas! Para cada consulta que realizar, informe o comando correto: *DICA: nas consultas que realizar por linha de comando, utilize “. pretty()” ao final do comando de busca para que o resultado seja indentado ao ser exibido. • Realize uma consulta que retorne todos os documentos da collection. • Realize uma consulta que localize as informações da cliente “Maria”. • Realize uma busca que retorna os clientes VIPs da loja (VIP = 1). Retorne apenas o campo “nome” de cada um. • Realize uma consulta que exiba as compras efetuadas por “Marcos” • Realize uma consulta que retorne todos os nomes de produtos comprados por todos os clientes. *Nesta consulta em específico, utilize a linha de comando do MongoDB. 2.2 RESULTADOS PROCEDIMENTO/ATIVIDADE Nº 1 A primeira etapa proposta foi a criação de um banco de dados chamado “lojadb” utilizando o MongoDB Compass. Após deve ser criada a collection “vendas”. O processo foi realizado conforme a Figura 1. Figura 1: collection “vendas”. Após a criação do banco de dados e da collection foi feito a inserção dos dados básicos dos clientes na collection “vendas” atentando para o tipo do campo “telefone” que deve ser adicionado como um Array. Nota-se que o cliente Marcos não possui e-mail, então esse campo pode ser omitido no momento do cadastro. Figura 2: Inserção dos dados básicos dos clientes Na próxima etapa foi dado continuidade na inserção dos dados dos clientes. Para isso foi realizada a atualização dos registros anteriormente inseridos e cadastrados os endereços de cada um. Figura 3: Atualização dos registros Como conclusão da primeira atividade do portfólio, foi realizada a inserção dos dados de vendas de cada cliente, utilizando para isso o conceitode Array de Objetos Figura 4: Inserção dos dados de vendas de cada cliente PROCEDIMENTO/ATIVIDADE Nº 2 Após a criação do banco de dados, da collection e da respectiva inserção dos dados fossem realizadas consultas utilizando o MongoDB Compass e o MongoShell. 1- Realize uma consulta que retorne todos os documentos da collection Figura 5: db.find() 2- Realize uma consulta que localize as informações da cliente “Maria”. Figura 6: db.vendas.find(nome:”Maria”) 3- Realize uma busca que retorna os clientes VIPs da loja (VIP = 1). Retorne apenas o campo “nome” de cada um. Figura 7: db.vendas.find({vip:1},{nome:1}) 3- Realize uma consulta que exiba as compras efetuadas por “Marcos” Figura 8: db.vendas.find({nome:"Marcos"},{compras:1}).pretty() 4- Realize uma consulta que retorne todos os nomes de produtos comprados por todos os clientes. *Nesta consulta em específico, utilize a linha de comando do MongoDB Figura 9: db.vendas.distinct("compras.produto") 3 CONCLUSÃO: O banco de dados NoSQL MongoDB é sem dúvida um grande aliado do desenvolvedor de software quando o projeto necessita flexibilidade, versatilidade e alta disponibilidade, principalmente no gerenciamento de grandes quantidades de dados, ou seja, é uma ótima ferramenta interativa que facilita a manipulação de dados do MongoDB com uma interface de fácil compreensão oferecendo recursos como: análise do esquema, otimização de índice e pipelines de agregação. O MongoDB é uma ferramenta poderosa para muitos cenários, no entanto, a escolha entre o MongoDB e outros sistemas de gerenciamento de banco de dados deve ser feita com base nas necessidades específicas de seu projeto e na compreensão das vantagens e limitações de cada opção. O objetivo deste trabalho foi alcançado, uma vez que que foi realizada a criação, manipulação e atualização de dados utilizando o software MongoDB, obedecendo e priorizando os requisitos implementados. O desenvolvimento desta aula prática permitiu o desenvolvimento de habilidades práticas para desenvolver bancos de dados não relacionais orientados a documentos, incluindo a criação de collections e in serção/atualização de documentos, bem como a realização de consultas dentro da base de dados REFERÊNCIAS: AZURE. O que são bancos de dados? Definições, tipos e exemplos de bancos de dados. Disponível em: https://azure.microsoft.com/pt-br/resources/cloud-computing-dictionary/what-are-databases. Acesso em: 01 nov 2023. DATE, C. J. Introdução ao sistema de banco de dados. Elsevier: Rio de Janeiro, 2004. MONGODB. O que é o MongoDB? 2023. Disponível em: https://www.mongodb.com/pt-br/whatis-mongodb. Acesso em: 30 set. 2023. MONGODB. Realizando Consultas. Disponível em: https://www.devmedia.com.br/mongodb-realizando-consultas/27791. Acesso em: 30 set. 2023. TIPSCODE. MongoDB – Guia para Iniciantes Passo a Passo. 2020. Disponível.
Compartilhar