Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

UNIVERSIDADE PITÁGORAS UNOPAR ANHANGUERA
ENGENHARIA DE SOFTWARE
ALICIA VAZ HERCULANO
AULA PRÁTICA: BANCOS DE DADOS NÃO RELACIONAIS
Criação e manipulação de um banco de dados no MongoDB
MATEUS LEME
2026
ALICIA VAZ HERCULANO
AULA PRÁTICA: BANCOS DE DADOS NÃO RELACIONAIS
Criação e manipulação de um banco de dados no MongoDB
Relatório de aula prática apresentado à disciplina de Bancos de Dados Não Relacionais, do curso de Engenharia de Software, da Universidade Pitágoras Unopar Anhanguera.
Orientador(a): [NOME DO PROFESSOR(A)/TUTOR(A)]
MATEUS LEME
2026
SUMÁRIO
SUMÁRIO
1 INTRODUÇÃO ................................................................................................ 04
2 DESENVOLVIMENTO .................................................................................... 04
2.1 Criação do banco de dados e da collection ..................................................04
2.2 Etapa 1 – Inserção dos clientes ....................................................................05
2.3 Etapa 2 – Atualização dos documentos ........................................................06
2.3.1 Cliente João ...............................................................................................06
2.3.2 Cliente Marcos .......................................................................................... 07
2.3.3 Cliente Maria ..............................................................................................07
2.4 Consultas realizadas ................................................................................... 08
2.4.1 Consulta 1 – Todos os documentos da collection .................................... 08
2.4.2 Consulta 2 – Informações da cliente Maria ...............................................09
2.4.3 Consulta 3 – Clientes VIP (apenas o nome) ............................................ 10
2.4.4 Consulta 4 – Compras efetuadas por Marcos .......................................... 10
2.4.5 Consulta 5 – Nomes de todos os produtos comprados ............................ 11
3 CONCLUSÃO ................................................................................................. 11
REFERÊNCIAS ................................................................................................. 12
1 INTRODUÇÃO
Os bancos de dados não relacionais, também chamados de NoSQL, armazenam informações de forma flexível, sem exigir uma estrutura fixa de tabelas, linhas e colunas. O MongoDB é um dos principais representantes dessa categoria: é um banco de dados orientado a documentos, de código aberto e multiplataforma, que guarda os dados em documentos semelhantes ao formato JSON, organizados em collections.
Este relatório documenta a aula prática da disciplina de Bancos de Dados Não Relacionais, cujo objetivo foi criar e manipular um banco de dados no MongoDB. Foram utilizados o MongoDB Community Server e o MongoDB Compass, ferramenta gráfica para consultar e analisar os dados, além do shell (mongosh) para a execução dos comandos.
A atividade consistiu em criar o banco de dados lojadb com a collection vendas, inserir e atualizar documentos com dados de clientes e de suas compras e, por fim, realizar cinco consultas à base de dados.
2 DESENVOLVIMENTO
2.1 Criação do banco de dados e da collection
Com o MongoDB Compass conectado ao servidor local (localhost:27017), foi criado o banco de dados lojadb e, junto com ele, a collection vendas. Em seguida, no shell, o banco foi selecionado para que os comandos seguintes fossem executados nele:
use lojadb
Figura 1 – Banco de dados lojadb e collection vendas criados no Compass
Fonte: Autoria própria (2026).
2.2 Etapa 1 – Inserção dos clientes
Na primeira etapa foram inseridos os dados básicos dos três clientes com o comando insertMany. O campo telefone foi criado como um Array, pois cada cliente possui uma quantidade diferente de telefones. O cliente Marcos não possui e-mail, portanto esse campo não foi adicionado ao seu documento, o que é permitido por se tratar de um banco sem estrutura fixa.
db.vendas.insertMany([
 {
 nome: "João",
 vip: 1,
 email: "joao@email.com",
 telefone: ["9999-1111", "8888-1111"]
 },
 {
 nome: "Marcos",
 vip: 0,
 telefone: ["9999-2222"]
 },
 {
 nome: "Maria",
 vip: 1,
 email: "maria@email.com",
 telefone: ["9999-3333", "8888-3333", "9988-3000"]
 }
])
Figura 2 – Inserção dos três clientes na collection vendas
Fonte: Autoria própria (2026).
2.3 Etapa 2 – Atualização dos documentos
Na segunda etapa, os documentos já existentes foram atualizados com o comando updateOne e o operador $set, que adiciona novos campos sem apagar os que já existem. O endereço foi inserido como um objeto (rua, número, complemento, cidade e estado) e as compras como um Array de objetos, com nome do produto, preço e quantidade.
2.3.1 Cliente João
db.vendas.updateOne(
 { nome: "João" },
 { $set: {
 endereco: {
 rua: "Rua Um",
 numero: 1000,
 complemento: "Apto 1 Bloco 1",
 cidade: "São Paulo",
 estado: "SP"
 },
 compras: [
 { nome_produto: "notebook", preco: 5000.00, quantidade: 1 }
 ]
 } }
)
2.3.2 Cliente Marcos
db.vendas.updateOne(
 { nome: "Marcos" },
 { $set: {
 endereco: {
 rua: "Rua Dois",
 numero: 4000,
 cidade: "Campinas",
 estado: "SP"
 },
 compras: [
 { nome_produto: "Caderno", preco: 20.00, quantidade: 1 },
 { nome_produto: "Caneta", preco: 3.00, quantidade: 5 },
 { nome_produto: "Borracha", preco: 2.00, quantidade: 2 }
 ]
 } }
)
2.3.3 Cliente Maria
db.vendas.updateOne(
 { nome: "Maria" },
 { $set: {
 endereco: {
 rua: "Rua Três",
 numero: 3000,
 cidade: "Londrina",
 estado: "PR"
 },
 compras: [
 { nome_produto: "Tablet", preco: 2500.00, quantidade: 1 },
 { nome_produto: "Capa para tablet", preco: 50.00, quantidade: 1 }
 ]
 } }
)
Figura 3 – Documentos atualizados exibidos na aba Documents do Compass
Fonte: Autoria própria (2026).
2.4 Consultas realizadas
Com o banco populado, foram executadas as cinco consultas solicitadas no roteiro, apresentadas a seguir.
2.4.1 Consulta 1 – Todos os documentos da collection
O método find() sem parâmetros retorna todos os documentos da collection, e o pretty() exibe o resultado indentado.
db.vendas.find().pretty()
Figura 4 – Resultado da consulta 1
Fonte: Autoria própria (2026).
2.4.2 Consulta 2 – Informações da cliente Maria
O filtro { nome: "Maria" } localiza apenas os documentos cujo campo nome seja igual a Maria.
db.vendas.find({ nome: "Maria" }).pretty()
Figura 5 – Resultado da consulta 2
Fonte: Autoria própria (2026).
2.4.3 Consulta 3 – Clientes VIP (apenas o nome)
O primeiro parâmetro é o filtro (vip: 1) e o segundo é a projeção, que define quais campos serão exibidos: nome: 1 mostra o nome e _id: 0 oculta o identificador.
db.vendas.find({ vip: 1 }, { nome: 1, _id: 0 }).pretty()
Figura 6 – Resultado da consulta 3
Fonte: Autoria própria (2026).
2.4.4 Consulta 4 – Compras efetuadas por Marcos
Nesta consulta o filtro seleciona o cliente Marcos e a projeção exibe somente o campo compras.
db.vendas.find({ nome: "Marcos" }, { compras: 1, _id: 0 }).pretty()
Figura 7 – Resultado da consulta 4
Fonte: Autoria própria (2026).
2.4.5 Consulta 5 – Nomes de todos os produtos comprados
O método distinct acessa o campo nome_produto dentro do Array de objetos compras e retorna a lista de valores sem repetição, considerando todos os clientes.
db.vendas.distinct("compras.nome_produto")
Figura 8 – Resultado da consulta 5
Fonte: Autoria própria (2026).
3 CONCLUSÃO
A aula prática permitiu aplicar, de forma completa, os conceitos básicos de um banco de dados orientado a documentos. Foi possível criar um banco de dados e uma collection, inserir documentos com campos de tipos variados (textos, números, Arrays e objetos), atualizar documentos já existentes e realizar consultas com filtros e projeções.
Observou-se que, no MongoDB,os documentos de uma mesma collection não precisam ter os mesmos campos, como no caso do cliente que não possui e-mail, o que traz flexibilidade em relação ao modelo relacional. Dessa forma, os objetivos propostos no roteiro foram alcançados.
REFERÊNCIAS
MONGODB. MongoDB Documentation. Disponível em: https://www.mongodb.com/docs/. Acesso em: 27 out. 2026.
UNIVERSIDADE PITÁGORAS UNOPAR ANHANGUERA. Roteiro de aula prática: Bancos de Dados Não Relacionais. Mateus Leme 2026.
image4.png
image5.png
image6.png
image7.png
image8.png
image9.png
image1.png
image2.png
image3.png

Mais conteúdos dessa disciplina