Prévia do material em texto
Impresso por Micheli Caroline, E-mail mikafotografia@live.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 06/12/2023, 17:27:52 SISTEMA DE ENSINO Á DISTÂNCIA ENGENHARIA DE SOFTWARE ROSELI A. DEFASSIO RELATÓRIO DE AULA PRÁTICA BANCOS DE DADOS NÃO RELACIONAIS Londrina 2023 Impresso por Micheli Caroline, E-mail mikafotografia@live.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 06/12/2023, 17:27:52 ROSELI A. DEFASSIO RELATÓRIO DE AULA PRÁTICA BANCOS DE DADOS NÃO RELACIONAIS Trabalho apresentado ao Curso de Engenharia de Software da UNOPAR - Universidade Norte do Paraná, para a disciplina BANCOS DE DADOS NÃO RELACIONAIS Orientador: Prof. Vinicius Camargo Prattes Londrina 2023 Impresso por Micheli Caroline, E-mail mikafotografia@live.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 06/12/2023, 17:27:52 SUMÁRIO 1 INTRODUÇÃO...........................................................................................................4 2 DESENVOLVIMENTO................................................................................................5 3 CONCLUSÃO...........................................................................................................16 1 INTRODUÇÃO.......................................................................................................4 2 DESENVOLVIMENTO...........................................................................................5 2.1 METODOLOGIA.................................................................................................5 2.2 RESULTADOS...................................................................................................8 3 CONCLUSÃO......................................................................................................15 REFERÊNCIAS...........................................................................................................16 Impresso por Micheli Caroline, E-mail mikafotografia@live.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 06/12/2023, 17:27:52 4 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 banco 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. Impresso por Micheli Caroline, E-mail mikafotografia@live.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 06/12/2023, 17:27:52 5 2 DESENVOLVIMENTO O é uma poderosa ferramenta gráfica de gerenciamento deMongoDB Compass bancos de dados . Ela oferece uma amigável para interagir comMongoDB interface 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 e instalar o .download 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 uma 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, Impresso por Micheli Caroline, E-mail mikafotografia@live.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 06/12/2023, 17:27:52 6 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 Impresso por Micheli Caroline, E-mail mikafotografia@live.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 06/12/2023, 17:27:52 7 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. Impresso por Micheli Caroline, E-mail mikafotografia@live.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 06/12/2023, 17:27:52 8 • 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”. Fonte: O autor 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” Impresso por Micheli Caroline, E-mail mikafotografia@live.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 06/12/2023, 17:27:52 9 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 Fonte: O autor 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. Impresso por Micheli Caroline, E-mail mikafotografia@live.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 06/12/2023, 17:27:52 10 Figura 3: Atualização dos registros Fonte: O autor 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 conceito de Array de Objetos. Figura 4: Inserção dos dados de vendas de cada cliente