Escolar Documentos
Profissional Documentos
Cultura Documentos
Inserir de Dados
Aqui
Inserir
não Estruturados
Título Aqui
CRUD
Revisão Textual:
Profa. Dra. Silvia Albert
CRUD
Caro(a) aluno(a),
Bom estudo!
UNIDADE
CRUD
Introdução ao tema
Caro(a) aluno(a),
Vale lembrar que uma forma simples de acessar o IDE do MongoDb é através do
site https://goo.gl/5YmcIu. Todo acesso é feito através do navegador do seu computador ou
dispositivo móvel. Não é necessário cadastro para utilizar o ambiente.
6
instalado e localize a pasta “bin” (sem aspas) e execute o programa mongod. Isso
irá iniciar o deamon do MongoDB. Após iniciar o programa, execute o programa
mongo para iniciar o aplicativo. As imagens abaixo mostram esse processo. Notem
que os caminhos exibidos podem ser alterados dependendo da instalação efetuada.
O comando show dbs; exibe uma listagem dos databases existentes. Dependendo
da instalação, o banco vazio local tem 0.078GB pré-alocado. Esse espaço é pré-alo-
cado por razões de desempenho e para garantir espaço sequencial para persistência.
O banco local é criado durante a instalação do software e seus arquivos ficam na pasta
data criada anteriormente.
Uma característica dos bancos de dados não relacionais é a facilidade de uso. Não
7
7
UNIDADE
CRUD
existe, por exemplo, o comando create database, o banco é criado no momento em que
é criada uma coleção. Para entrar em um banco específico, é utilizado o comando use.
O nome do banco não pode conter uma cadeia vazia, um ponto ou palavra reservada.
Exemplo: use banco;
db.biblioteca.count();
db.biblioteca.count();
db.biblioteca.find();
A operação de insert cria o atributo _id que consiste em um índice único (unique
index) produzido durante a criação de uma coleção. Este é sempre o primeiro campo
de um documento. Se o campo _id não for o primeiro em um documento, o servidor
move o campo para o início. Cada documento inserido possui seu próprio _id. Cada
_id é único. Normalmente, um _id é um tipo de dado ObjectId do BSON com 12
bytes que, assim, se organizam: 4 bytes indicam o timestamp da criação do objeto;
3 bytes identificam a máquina; 2 bytes mostram o identificador (id) do processo e 3
bytes correspondem ao contador, iniciado com um valor aleatório. Ordenar por _id é o
equivalente a ordenar por data de criação.O método getTimestamp() acessa a data de
criação do objeto. É possível outorgar valores a um atributo _id, mas o valor não pode
ser repetido. O comportamento é similar uma chave primária em um RDBMS. Esse
método pode conter qualquer tipo de dados BSON, com exceção de array. Expressões
regulares são desaconselhadas nesse campo em casos de replicação.
8
de registros. Uma consulta vazia ({}) retorna todos os documentos de uma coleção. Vale
lembrar que não especificar uma consulta é o equivalente a efetuar uma consulta vazia.
Sendo assim, o db.coleção.find() é equivalente ao db.coleção.find({}). É possível, ainda,
efetuar uma consulta por igualdade {<campo>: <valor>}. Neste caso, serão listados
todos os campos com o valor especificado. Veja o seguinte exemplo:
db.biblioteca.find();
O método find() trabalha com operadores aritméticos de comparação $lt (menor que),
$lte (menor ou igual), $gt (maior que), $gte (maior ou igual). O quadro 2, a seguir, com-
para o uso com comandos SQL tradicionais para facilitar a compreensão de seu uso.
UPDATE users SET age = 33 WHERE name = ‘Bob’ db.users.update({name: “Bob”}, {$set: {age: 33}}, {multi: true})
UPDATE users SET age = age + 2 WHERE name = ‘Bob’ db.users.update({name: “Bob”}, {$inc: {age: 2}}, {multi: true})
9
9
UNIDADE
CRUD
O quadro 4, a seguir, compara o uso dos operadores com comandos SQL tradicionais,
para facilitar a sua compreensão:
O método remove() remove os dados de uma coleção, mas ela continua existindo,
mesmo sem dados. A sintaxe geral é db.collection.remove( <query>, <justOne> )
onde <query> especifica os critérios de deleção. Para apagar todos os documentos de
uma coleção, basta especificar um documento vazio ({}). <justOne> define que será
apagado apenas um documento. O parâmetro deve ser configurado para true ou 1.
Observe o quadro 5, a seguir, que compara o uso dos operadores com comandos
SQL tradicionais, para facilitar a sua compreensão:
Vimos, nessa unidade, as operações CRUD (Create, Read, Update e Delete) em banco
de dados não relacional, exemplificado pelo banco de dados orientado a documentos
MongoDB. Além de abordar os aspectos relevantes da criação de objetos em banco de
dados não relacional, vimos como se dá o seu uso em operações de leitura, exclusão e
alteração de documentos.
Não deixe de fazer as leituras indicadas na unidade e as atividades, para que possa
construir e solidificar novos conhecimentos! Bom trabalho!!
10
Orientações para Leitura Obrigatória
Caro(a) aluno(a),
Considerando que a ideia central desta Unidade é lhe mostrar os principais conceitos
que envolvem o banco de dados não relacional, é de suma importância que primeiro
conheçamos os princípios de um banco de dados relacional.
O livro apresenta uma base sólida sobre os alicerces da tecnologia de bancos de da-
dos, ao mesmo tempo em que esclarece como o campo deve se desenvolver no futuro.
Atento(a) a esses aspectos, inicie sua leitura pelo capítulo Arquitetura de Sistemas de
Banco de Dados , da página 28 a 46 – da obra de C.J. Date, Introdução a Sistemas de Banco
de Dados, disponível na Biblioteca Virtual Universitária.
Passe, então, para o capítulo Normalização Avançada I: 1FN, 2FN, 3FN, FNBC, da página
302 a 323. Em seguida, reveja os conceitos de Banco de Dados distribuído, da página 554 a
583 e os princípios de Word Wide Web e XML, da página 768 a 801.
11
11
UNIDADE
CRUD
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Vídeos
Big Data Storymap
https://goo.gl/DuYrlv
Big Data Architecture Patterns
https://goo.gl/muTwcy
Explaining Big Data
https://goo.gl/IVOuA2
Introduction to Hadoop
https://goo.gl/zzdg7K
12
Referências
DATE, C.J.. Introdução a Sistemas de Bancos de Dados. Trad. Daniel Vieira. Rio
de Janeiro: Elsiever Editora, 2015.
13
13