Roteiro
Aula Prática
Bancos de Dados
Não Relacionais
ROTEIRO DE AULA PRÁTICA
NOME DA DISCIPLINA: Bancos de Dados Não Relacionais
Escolher um item.
Escolher um item.
OBJETIVOS
Definição dos objetivos da aula prática:
Criar e manipular um banco de dados não relacional no MongoDB.
INFRAESTRUTURA
Instalações:
Laboratório de Informática
Materiais de consumo:
Quantid. de materiais por
Descrição
procedimento/atividade
Computador
Software:
01 por aluno
Sim ( X ) Não ( )
Em caso afirmativo, qual?
Pago ( ) Não Pago ( X )
Tipo de Licença: Freeware
Descrição do software:
• MongoDB Community Server: O banco de dados MongoDB é um software de banco de
dados orientado a documentos, livre, de código aberto e multiplataforma, escrito na
linguagem C++. Este banco é classificado como um programa de banco de dados NoSQL.
https://www.mongodb.com/try/download/community
• MongoDB Compass: O Compass é uma ferramenta interativa para consultar, otimizar e
analisar os dados do bando de dados MongoDB de forma gráfica. *é instalado opcionalmente
pelo mesmo instalador do MongoDB Server.
2
Equipamento de Proteção Individual (EPI):
NSA.
PROCEDIMENTOS PRÁTICOS
Procedimento/Atividade Nº 1
Atividade proposta:
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, utilizando o comando
“insert” pela Shell do mongodb, ou graficamente pelo Compass:
adicionado como uma Array.
NOME
João
Marcos
• 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
CLIENTE VIP
(1 – SIM / 0 – NÃO)
EMAIL
TELEFONE
1
joao@email.com
9999-1111, 8888-1111
0
9999-2222
Maria
1
maria@email.com
9999-3333, 8888-3333,
9988-3000
3
(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 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.
NOME
ENDEREÇO
João
Marcos
Rua Um, 1000, Apto 1 Bloco 1. São Paulo/SP
Rua Dois, 4000. Campinas/SP
Maria
Rua Três, 3000. Londrina/PR – 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”.
NOME
COMPRAS
João
Nome do produto: notebook
Preço: R$ 5000,00
Quantidade: 1
Marcos
Nome do produto: Caderno
Preço: R$ 20,00
Quantidade: 1
4
Nome do produto: Caneta
Preço: R$ 3,00
Quantidade: 5
Nome do produto: Borracha
Preço: R$ 2,00
Quantidade: 2
Maria
Nome do produto: Tablet
Preço: R$ 2500,00
Quantidade: 1
Nome do produto: Capa para tablet
Preço: R$ 50,00
Quantidade: 1
Procedimento/Atividade Nº 2
Atividade proposta:
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:
busca para que o resultado seja identado ao ser exibido.
*DICA: nas consultas que realizar por linha de comando, utilize “.pretty()” ao final do comando de
• 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.
5
• 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.
Checklist:
• Acessar o MongoDB Compass
• Criar um banco de dados no MongoDB
• Criar uma collection em um banco de dados
• Inserir documentos na collection criada
das tabelas.
• Atualizar a collection “vendas” no banco de dados “lojadb” de acordo com as informações
• Navegar até a collection “vendas” do banco de dados “lojadb”
• Realizar as 5 consultas especificadas.
RESULTADOS
Resultados da aula prática:
É esperado que ao término da prática o aluno saiba 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.
6