Comparando os termos utilizados no NoSQL com SQL

SQL

SQL é a sigla utilizada para “Structured Query Language” que traduzindo para o português significa: “Linguagem de Consulta Estruturada”.

NoSQL

NoSQL (Not Only SQL) é o termo utilizado para banco de dados não relacionais. Ele foi desenvolvido para ter uma performance melhor e uma escalabilidade mais horizontal para suprir necessidades onde os bancos relacionais não são muito eficazes.

  • Colunas: Os dados são armazenados em linhas dentro de tabela no disco. Um exemplo de banco de dados neste formato é o Cassandra
  • Grafos: Os dados são armazenados em forma de grafos (vértices e arestas). Um exemplo de banco de dados neste formato é o Neo4j
  • Chave-valor: Em algumas pesquisas e testes realizados pela internet, esta família de banco NoSQL é a que mais aguenta carga de dados, pois o seu conceito é que um determinado valor seja acessado através de uma chave identificadora única. Um exemplo de banco de dados neste formato é o Redis.

Image for post

Image for post
Comparando SQL com NoSQL fonte: (codersera)

Os termos utilizados em cada um deles:

Image for post
Conhecendo os termos entre SQL e NoSQL
Image for post
Comparando as instruções de inserção e consulta no SQL com NoSQL

Referência: https://medium.com/xp-inc/comparando-os-termos-utilizados-no-nosql-com-sql-e862788e2374

CRUD básico com MongoDB

O MongoDB é um banco de dados não-relacional que traz o conceito de Banco de Dados Orientado a Documentos. Ele tem como característica conter informações importantes em um único documento. Deste modo, possibilita a consulta de documentos através de métodos avançados de agrupamento e filtragem.

Ele é um banco de dados NoSQL, onde não há presença de SQL. Deste modo, este tipo de banco de dados não traz consigo os fundamentos de um modelo relacional e com a linguagem SQL. Os bancos de dados orientados a documentos não fornecem relacionamentos entre documentos, o que mantém seu design sem esquemas.

Instalando o MongoDB:

Você pode realizar a instalação do MongoDB acessando o site: https://docs.mongodb.com/manual/installation/ e selecionar o seu sistema operacional. Baixe a versão community. Baixe o arquivo no formato msi e siga o passo a passo da instalação.

Feito este procedimento, você obterá acesso ao aplicativo Shell do MongoDB. Através deste Shell, podemos criar banco de dados, documentos e coleções. Execute o arquivo mongo.exe.

Realizando CRUD:

Criando coleções:

O mongoDB utiliza o armazenamento de documentos em coleções. As coleções são equivalentes a tabelas em bancos de dados relacionais. Utilize o comando use db para acessar o banco de dados db.

Podemos utilizar criar uma coleção em documento utilizando o comando createCollection().

Vamos criar a collection chamada teste:

db.createCollection("teste")

A mensagem de resposta será:

{ “ok” : 1 }

Agora, podemos verificar se a coleção foi criada, usando o comando:

show collections

E lá está a nossa resposta:

teste

INSERT():

Agora, iremos realizar a nossa operação de inserção na nossa collection, utilizando o comando insert (create):

db.teste.insert({nome: "Usuario 1", idade: 25, data_nascimento: "01/03/1990"})

E obtemos o resultado:

WriteResult({ “nInserted : 1 })

Assim, inserimos na nossa collection teste um novo usuário, chamado Usuario 1, com idade = 25 e nascido no dia 01/03/1990.

FIND():

Com o comando find(), podemos verificar a existência da coleção e seus dados. Funciona de maneira semelhante ao select da linguagem SQL:

db.teste.find()

E o resultado será:

{ "_id" : ObjectId("5e6a69e61f94c569504d99e4"), "nome" : "Usuario 1", "idade" : 25, "data_nascimento" : "01/03/1990" }

Observação: Quando não especificamos um ID, o próprio MongoDB se encarrega da criação de um.

Utilizando o método pretty, você terá o resultado formatado:

db.teste.find().pretty():
{

        "_id" : ObjectId("5e6a69e61f94c569504d99e4"),

        "nome" : "Usuario 1",

        "idade" : 25,

        "data_nascimento" : "01/03/1990"

}

 

UPDATE():

Com o método update(), atualizaremos os campos da coleção que desejarmos. Passamos por parâmetro primeiro o nome do usuário a ser atualizado na tabela, e após, as suas novas informações.

db.teste.update({ nome: "Usuario 1" }, {nome: "Usuario 2", idade: 30, data_nascimento: "03/07/1992"})

E a nossa saída será:

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

Agora, verificamos se o update foi realizado:

db.teste.find().pretty()

E ali está:

{

        "_id" : ObjectId("5e6a69e61f94c569504d99e4"),

        "nome" : "Usuario 2",

        "idade" : 30,

        "data_nascimento" : "03/07/1992"

}

 

REMOVE():

Para remover um usuário de uma coleção, podemos utilizar o método remove(), especificando o usuário a ser removido:

db.teste.remove({ nome: "Usuario 2"})

Saída:

WriteResult({ "nRemoved" : 1 })

Você pode utilizar o find() e verificar. Não existirá mais esse usuário.

 

DROP():

Para remover uma collection inteira, utilize o comando drop():

db.teste.drop()

Utilize o comando show collections para verificar se a coleção foi realmente removida.

 

Então é isso pessoal, terminamos o CRUD básico no MongoDB. Espero que tenham gostado. Deixe seu comentário.