introdução ao nosql (mini curso)
DESCRIPTION
Curso dadTRANSCRIPT
![Page 1: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/1.jpg)
Introdução ao NOSQLInstrutor: José Fernandes Almeida Junior
![Page 2: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/2.jpg)
Agenda• O que é um Banco de Dados• O que é NOSQL• Surgimento do NOSQL• Tipos de NOSQL• O que é o MongoDB• Introdução ao MongoDB• Usando MongoDB com JAVA
![Page 3: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/3.jpg)
O que é um Banco de Dados?
![Page 4: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/4.jpg)
O que é um Banco de Dados
È um conjunto de dados inter-relacionados
![Page 5: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/5.jpg)
O que é NOSQL• São banco de dados não relacionais onde NOSQL significa
“Not Only SQL”
![Page 6: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/6.jpg)
Surgimento do NOSQL• Motivo• Teorema CAP (Consistência, Disponibilidade e Tolerância a
Partição)
![Page 7: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/7.jpg)
![Page 8: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/8.jpg)
Tipos de NOSQL• Orientado a documento• Chave-valor• Orientado a grafo• Orientado a colunas
![Page 9: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/9.jpg)
O que é o MongoDB
MongoDB é uma solução escalavel de alto desempenho escrito em c++, de código aberto de banco de dados NOSQL.
![Page 10: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/10.jpg)
Características do MongoDB• Orientado a documentos• Suporte a índice completo• Replicação e alta disponibilidade• Sharding
![Page 11: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/11.jpg)
Principais operadores MongoDB• $lt – menor que• $gt – maior que• $lte – menor ou igual a• $gte – maior ou igual a• $ne – diferente de• $in – está em (recebe uma lista)• $nin – não está em• $mod – resto igual a (recebe uma lista onde o primeiro valor é
o divisor e o segundo o resto)• $exists – contém ou não o atributo• $not – negação de uma condição
![Page 12: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/12.jpg)
Principais Consultas do MongoDBSQL MongoDB
CREATE TABLE USERS (a Number, b Number)
db.createCollection("mycoll")
INSERT INTO USERS VALUES(3,5) db.users.insert({a:3,b:5})
SELECT a,b FROM users db.users.find({}, {a:1,b:1})
SELECT a,b FROM users WHERE age=33 db.users.find({age:33}, {a:1,b:1})
SELECT * FROM users WHERE age=33 ORDER BY name
db.users.find({age:33}).sort({name:1})
SELECT * FROM users WHERE age>33 db.users.find({age:{$gt:33}})
SELECT * FROM users WHERE age!=33 db.users.find({age:{$ne:33}})
SELECT * FROM users WHERE name LIKE "%Joe%"
db.users.find({name:/Joe/})
SELECT * FROM users WHERE a=1 and b='q'
db.users.find({a:1,b:'q'})
![Page 13: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/13.jpg)
Continuação das ConsultasSQL MongoDB
SELECT * FROM users WHERE a=1 or b=2
db.users.find( { $or : [ { a : 1 } , { b : 2 } ] } )
SELECT DISTINCT last_name FROM users
db.users.distinct('last_name')
SELECT COUNT(*y) FROM users db.users.count()
UPDATE users SET a=1 WHERE b='q' db.users.update({b:'q'}, {$set:{a:1}}, false, true)
UPDATE users SET a=a+2 WHERE b='q' db.users.update({b:'q'}, {$inc:{a:2}}, false, true)
DELETE FROM users WHERE z="abc" db.users.remove({z:'abc'});
![Page 14: Introdução ao nosql (mini curso)](https://reader036.vdocuments.net/reader036/viewer/2022082603/54bd629e4a79599c0a8b46a2/html5/thumbnails/14.jpg)