You are on page 1of 9

Linguagem de Programação

de Banco de Dados
Maike Mansano
Marcos Libanori
Marco A. Batista
Vanderlei Bianchi Jr
Neo4J
O Neo4j é um banco de dados NoSQL, que armazena as
informações representadas em grafos. Um grafo consiste em
nós, interligados por relacionamentos. Ambos os nós e
relacionamentos (conhecidos também por arestas, na teoria dos
grafos) podem possuir atributos, armazenados no formato de
chave/valor. Possui sua própria linguagem para realizar consultas
e percorrer o grafo, chamada Cypher Query Language (CQL).
O que são Grafos?!?
Leonhard Euler - Matemático Suíço
Inventor da teoria dos grafos
(1736)
“Existe a possibilidade de se atravessar todas
as pontes da cidade sem repetir nenhuma?”

A teoria dos grafos é um ramo da matemática que estuda as relações entre os objetos de um
determinado conjunto. Para tal são empregadas estruturas chamadas de grafos, G(V,E), onde V é um
conjunto não vazio de objetos denominados vértices e E é um subconjunto de pares não ordenados
de V, chamados arestas.
Estrutura das Informações
• Nos bancos de dados relacionais a linguagem que utilizamos para
executar as queries (Consultas) se chama SQL, no neo4j, a linguagem
que utilizamos se chama Cypher Query Language (CQL).
• No SQL usamos tabelas e registros, no N4J tabela se chama label e
registro se chama node.
• As relações entre as labels se chama relationship que pode ou não ter
propriedades.
• No SQL se numa tabela temos os campos que representam valores dos
registros, ex: nome, idade, sexo, no Cypher temos um node no
formato key-value ou seja, object, ex: {nome: ”, idade: ”, sexo: ”}.
• No N4J não precisamos definir campos para começar a cadastrar
os nodes
Grafo no Neo4j
• Um grafo é uma representação pictórica de um conjunto de objetos onde alguns pares de objetos estão
conectados por links. É composto por dois elementos - nós (vértices) e relacionamentos (arestas).
• Vértice – também chamado de node(nó em português), é um conjunto de propriedades do tipo chave e
valor que representam uma entidade
Ex:

Representa um node da categoria Pessoa que possui o nome José


• Aresta – São os relacionamentos, ela liga os vértices por meio de uma rede semântica. Uma aresta
pode possuir um sentido, uma orientação e, se necessário, dados sobre esse relacionamento.

Ex:

Representa uma aresta onde relaciona José como marido de Maria


Requisitos de Sistemas
• Processaodor
Mínimo .................... Intel Core i3
Recomendado .......... Intel Core i7 / IBM Power8

• Memoria
Mínimo .................... 2GB
Recomendado .......... 16GB ou mais

• Disco HDD/SSD
Mínimo 10GB

• Software Necessario
OpenJDK 8 ou Oracle Java 8 / IBM Java 8

• SO Suportado
Ubuntu 14.04, 16.04
Debian 8, 9
CentOS 6, 7
Fedora
Red Hat
Amazon Linux
Windows Server 2012
Instalação
• O NEO4J possui instalação muito simples e rápida, basta acessar o site e escolher entre as versões
Business ou Communitye.

• Business : oferece alta capacidades e flexibilidade, com recursos de disponibilidade,


gerenciamento, dimensionamento e escalabilidade de qualidade empresarial.

• Community : Versão gratuita para testes e para aprender. Exclui serviços profissionais e suporte.

Após baixar o instalador no site e executa-lo, será necessário clicar em avançar algumas
vezes até que comesse a extrair os arquivos.
Após a instalação basta executar. Será aberta uma pequena janela onde terá um campo para
configurar o local a ser salvo o banco e o botão “Start” que quando acionado inicializa o banco e gera
uma URL padrão com a interface de programação pelo navegador.
No primeiro acesso deverá ser configurado o usuário e senha de acesso.
Usuário padrão é neo4j e a senha neo4j em seguida você será redirecionado para pagina
onde possa alterar usuário e senha.
Feito isso esta pronto para ser utilizado.
Conclusão
O N4J é uma excelente ferramenta de armazenamento
de dados, mas para obtermos o potencial máximo da
ferramenta, não podemos modelar os dados conforme
um banco de dados relacional, nem mesmo pensar que
ela pode substituir qualquer outro modelo de banco de
dados. Deve-se primeiro analisar qual o modelo de
banco de dados melhor se modela na aplicação, pois
assim como um banco relacional pode se tornar
inviável em certos tipos de dados, os modelos de grafos
também pode causar um grande problema para a
aplicação final.

You might also like