Neo4j => OK | Funcional Mongo => Parcial (Requer otimização) Cassandra => Parcial (Requer otimização) | Não testado Redis => Parcial (Requer otimização) | Não testado SimpleDB => Parcial (Requer otimização) | Não testado Voldemor => Parcial (Requer otimização) | Não testado
- Baixar DOCKER
- Rodar Arquivo
docker-compose.yml
, instâncias dos bancos de dados utlizados (Mongo e Neo4j)
docker-compose up docker-compose.yml
- MONGO: acessível através do localhost:8081 (utilizado para armazenar dicionario)
- User:
root
- PWS:
root
- User:
- NEO4J(Enterprise): acessível através da localhost:7474
- User:
neo4j
- PWS:
pAsSw0rD
- User:
- API SQLTONOKEYNOSQL: é possível utilizar o SWAGGER, POSTAM ou a Interface Web.
- O arquivo bd_matConstru.sql contém alguns exemplos de SQL
- O arquivo Setup contém exemplo de utilização da API com JS
Através do
GET/connectors
é possível obter os SGBDs suportados Dados de conexão Neo4j
{ "connector": "NEO4J", "name": "neo4j", "password": "pAsSw0rD", "url": "bolt://localhost:7687", "user": "neo4j" }
É possivel verificar criaçao através
GET/no-sql-targets
{ "name": "bd_matConstru", "connector": "NEO4J" }
É possivel verificar criaçao através
GET/databases
É possível verificar se está definido através
GET/current-database
{ "name": "bd_matConstru", "connector": "NEO4J" }
É possível executar arquivos SQL através
/query-file-sql-script
- Exemplo
create table funcao( id_funcao int not null primary key auto_increment, desc_funcao varchar(50), salario double, carga_horaria varchar(30) );
Entrada API
{ "value": "create table funcao(id_funcao int not null primary key auto_increment,desc_funcao varchar(50),salario double,carga_horaria varchar(30));" }
A camada não faz a leitura automatica das definições das tabelas de um banco.
- CREATE
- ALTER
- DROP
- INSERT
- UPDATE
- SELECT
- DELETE
O Parse SQL utilizado suporta um conjunto limitado de sintaxe, para mais detalhes JSqlParser.
CREATE TABLE usuario( -- TODOS os campos devem ser declarados, os tipos São ignorados user_id int primary key auto_increment, -- Declaração Primary Key func_id int not null, constraint fk_us_fun -- Declaração Foreign Key foreign key(func_id) -- Declaração Foreign Key, especificar ATRIBUTO references funcionario(id), -- Declaração Foreign Key, especificar TABELE E ATRIBUTO user_log varchar(30), user_pwd varchar(20) );
-- Não é permitido alterar CHAVE PRIMARIA -- Pertimido Renomear Coluna -- Pertimido Remover Coluna -- Pertimido Adicionar Coluna -- Suporta mais de uma Instrução ALTER TABLE funcionario RENAME COLUMN razao_social TO nome_pessoa_juridica, DROP COLUMN nome_pessoa_juridica, ADD razao_social varchar(100);
-- Não é permitido deletar registros que são chaves estrangeiras de outros registros DROP TABLE funcionario
-- Obrigatório Declarar todas as colunas, inclusive a Chave Primaria mesmo Sendo Id -- Auto incremento ainda não é suportado -- Suporta N Values -- Não é permitido inserir registros com Chaves estrangeiras inexistentes. INSERT INTO usuario (user_id, func_id, user_log, user_pwd) -- VALUES (1,1,'adm','adm'), (2,1,'adm','adm')
-- Não é permitido atulizar registros com Chaves estrangeiras inexistentes. UPDATE funcionario SET razao_social = 'Razão Social', nome = "Homer Simpsons" WHERE id = 1;
SELECT * FROM funcionario; SELECT id FROM funcionario WHERE nome = "Nome";
-- Não é permitido deletar registros que são Chaves estrangeiras de outros registros. DELETE FROM funcionario WHERE id >= "1";