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";