Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

A funcionalidade Banco de Dados é responsável por vincular um ou mais bancos de dados ao seu sistema, além de definir os perfis (ambientes) que cada banco terá acesso.

Ao criar um projeto no Cronapp, o banco de desenvolvimento H2 já vem configurado por padrão. Porém, quando é preciso testar a conexão com banco de dados ou no momento da publicação deve-se substituir esse banco. O Cronapp possui suporte aos principais bancos de dados do mercado: MySQL, SQL Server, PostgreSQL, Oracle, DB2, Derby e Firebird.

É possível visualizar as declarações feitas ao banco de dados através do recurso Debugar SQL. Veja mais detalhes no tópico "Debugar SQL" em Camada de persistência.


Nota

O H2 é um banco de dados efémero (temporário) e deve ser usado apenas no período de desenvolvimento, nunca como banco de dados em produção. Em determinadas situações durante o período de desenvolvimento, pode ser necessário limpar os dados desse tipo de banco. 

Por ser um banco de dados temporário, alguns recursos podem não ser compatíveis com um banco H2. Para mais informações, recomendamos consultar sua documentação oficial. O Cronapp atualmente utiliza a versão 1.4.200 do H2.

Dica

Caso possua um banco de dados local e queira usá-lo na IDE, é possível utilizar o ngrok para criar um túnel seguro entre seu banco local e sua aplicação no Cronapp. Para mais detalhes, acesse o tutorial Conectando um banco de dados local ao Cronapp.

Âncora
ManipularDados
ManipularDados

Gerenciar banco

A figura abaixo apresenta os elementos da janela principal da funcionalidade de Banco de dados.


Figura 1 - Ferramenta de configuração com o banco de dados


  1. Banco de dados: essa funcionalidade pode ser aberta por diferentes locais.
    • Ícone do menu do sistema (destaque 1 da figura 1).
    • Caminho Projeto > Banco de dados do menu do sistema.
    • Arquivo context.xml, quando o Modo Avançado estiver habilitado.
  2. Coluna Nome: lista de conexões de banco de dados.
  3. Coluna Perfil: lista de perfis associados a cada conexão de banco de dados.
  4. Editar banco: abre a área de edição do banco de dados selecionado (Figura 1.1).
  5. Manipular dados: abre o gerenciador de SQL do banco de dados selecionado.
  6. Importar arquivo Excel: permite importar uma ou mais planilhas do Excel.
  7. Exportar arquivo de populate: permite exportar em JSON os dados do banco selecionado.
  8. Remover banco: remove o banco de dados selecionado.
  9. Perfis: abre a área de edição de perfis.
  10. Novo: abre a área para adição de novo banco de dados (Figura 1.1).

Âncora
novaConexao
novaConexao

Novo banco de dados

Os campos abaixo serão exibidos ao editar (destaque 4 da figura 1) ou ao adicionar um novo banco de dados (destaque 10 da figura 1). Os campos e seus nomes irão variar com base no Fabricante de banco de dados selecionado.


Figura 1.1 - Adicionando novo banco


Campos

  • Banco de dados na nuvem: caso tenha um banco no serviço de cloud do Cronapp, selecione-o aqui para preencher automaticamente todos os outros campos abaixo. (acesse o tópico "Banco de dados" em Serviços de Cloud para mais detalhes).
    • Novo banco de dados na nuvem: abre uma nova aba na janela dos serviços de cloud para criar um banco de dados.
  • Nome: nome da conexão do banco, identifica o banco dentro da IDE.

    Informações

    Após criada a conexão, não é possível editar o campo Nome da conexão.

    Ao criar uma conexão, informe o nome de uma conexão existente para atribuir um perfil diferente a conexão. Veja mais detalhes no tópico Perfis.

  • Perfilescolha um perfil de banco de dados para associar a conexão. Ex.: Desenvolvimento, Produção ou outro criado. 
    • Remover perfil: esse botão exclui o perfil selecionado.
  • Fabricante: escolha do fabricante do banco de dados, que podem ser:
    • MySQL;
    • H2;
    • PostgreSQL;
    • DB2;
    • SQL Server;
    • Oracle;
    • Derby;
    • Firebird.
  • Usuário: usuário do banco de dados.
  • Senha: senha do usuário do banco de dados.
  • Nome Banco: (destaque 1 da figura 1.1) selecione um dos bancos (esquemas) existentes ou informe manualmente para criar.
    No fabricante MySQL, esse campo muda seu nome para Esquema.
    • Atualizar lista de Bancos (schemas): (destaque a da figura 1.1) atualiza as opções da caixa de seleção.
    • Criar database: (destaque b da figura 1.1) cria um novo banco (schema).
  • Servidor: endereço do servidor.
  • Porta: porta usada pelo banco de dados.
  • Nome Instância / Esquema: (destaque 2 da figura 1.1) lista de instâncias/esquemas obtidos do banco de dados. Utilize vírgula "," para separar as instâncias/esquemas: "esquema1,esquema2,esquemaN".
    A depender do fabricante selecionado, esse campo altera seu nome/título ou não é exibido:
    • Esquema: PostgreSQL e Oracle.
    • Nome Instância: SQL Server.
    • Não é exibido: MySQL, H2, DB2, Derby e Firebird.
  • Tipo: esse campo será exibido apenas ao selecionar o fabricante "Oracle", nele é possível selecionar como será montado a conexão com o banco de dados, via "SID" ou "Service name".  

Botões

  • OK: retorna para a janela principal. Essa opção não salva as alterações, utilize o ícone Salvar dos botões de atalho (CTRL + S). 
  • Cancelar: volta para a tela inicial do banco de dados.
  • Testar Conexão: verifica se a conexão do banco está funcionando corretamente.

    Informações
    Se o nome/esquema informado no campo Nome Banco (ou Esquema, dependendo do fabricante) não estiver presente na lista, uma caixa de diálogo será exibida para confirmar a criação do novo banco/esquema.


  • Manipular dadosabre uma janela para fazer manipulação do banco de dados através da ferramenta de gerenciamento de banco de dados.
  • Avançadoabre a janela de configuração dos atributos da conexão (Figura 1.2).


Informações

Os esquemas informados no campo Nome Instância / Esquema serão utilizados para exibir e filtrar as tabelas durante a engenharia reversa.

Nota

Além de verificar o funcionamento da conexão com o banco de dados, o botão Testar Conexão criará um novo Esquema/banco caso seja informado manualmente um nome de Esquemas/bancos que não exista.

Âncora
avancado
avancado

Atributos da conexão

A janela de Atributos de conexão é acessível a partir do botão Avançado (Figura 1.2) e possui diversos campos para a personalização avançada da conexão com o banco de dados. Normalmente não é necessário alterar essas configurações ao adicionar um novo banco de dados, pois o Cronapp configura automaticamente todos os campos necessários e o seu uso é destinado a usuários experientes em banco de dados.

A partir dessa janela é possível obter o driver utilizado para a conexão com o banco (campo driverClassName) e a string de conexão JDBC (campo url).


Figura 1.2 - Janela com os atributos da conexão do banco de dados

Âncora
instanciaEsquema
instanciaEsquema

Instância / Esquema

O conceito da estrutura do banco de dados e suas instâncias ou esquemas variam conforme o fabricante do banco de dados. Em geral, os esquemas (schema) ou bancos são estruturas lógicas usadas para armazenar os dados em um banco de dados. Para cada banco de dados criado, existirão estruturas (a depender do fabricante terá o nome de banco ou schema) com suas tabelas, views, relacionamentos e outros objetos particulares, e para o usuário que os acessa, serão na prática como bancos de dados separados.

O campo Novo Banco (possui esse nome ao selecionar o banco SQL Server, por exemplo) da figura 1.3 lista os bancos existentes (master) e permite criar outro ao informar um novo nome e clicar no botão Criar Database (destaque 1).

Para os bancos de dados SQL ServerPostgreSQL e Oracle será exibido mais um campo de texto, Nome Instância (SQL Server) ou Esquema (PostgreSQL e Oracle). Esse campo permite informar uma instância/esquema ou várias, separando-as por vírgula, exemplo: "esquema1,esquema2,esquemaN".


Figura 1.3 - Criação de um esquema (banco) no SQL Server

Âncora
perfilBancoDados
perfilBancoDados

Perfis da aplicação

Os Perfis da aplicação do Cronapp são criados na ferramenta de Banco de dados, mas não estão exclusivamente vinculados a ele. Eles estão associados ao ambiente atual do projeto, como por exemplo, teste, homologação, produção, entre outros. Dessa forma, ao executar o projeto a partir de um perfil específico, é possível variar não apenas o banco de dados utilizado, mas também a VPNParâmetros do sistema ou outros recursos.

Tomando o banco de dados como exemplo, cada conexão pode estar relacionada a vários perfis distintos, sendo que cada perfil está direcionado a um banco de dados físico específico, como H2, MySQL ou PostgreSQL (Figura 1.4). Normalmente, os bancos de dados vinculados aos perfis de uma mesma conexão possuem a mesma estrutura de tabelas, colunas e relacionamentos, divergindo apenas nos dados contidos neles.

A representação na figura abaixo mostra uma conexão vinculada a três perfis. Dois desses perfis se conectam ao banco de dados "MySQL 1", sendo que o perfil "Desenvolvimento" utiliza uma VPN para acessar o banco de dados, enquanto o perfil "Homologação" o acessa diretamente. Já o perfil "Produção" está conectado a um banco de dados separado, o "MySQL 2".


Figura 1.4 - Exemplo de relação entre conexão, perfis e bancos de dados


Os perfis são selecionáveis a partir de diversas ferramentas do Cronapp, dessa forma, é possível garantir quais bancos serão executados a partir da ação a ser executada. 

Exemplo de recursos que utilizam os perfis de conexão:


Figura 1.5 - Selecionando perfil antes de executar o projeto na IDE


Nota

Executar a aplicação com o perfil "Produção" no ambiente do Cronapp será útil na primeira vez, pois, durante a execução do projeto, o Cronapp criará as tabelas do banco de dados de acordo com o Diagrama de dados desenvolvido. No entanto, após a implantação do sistema, deve-se ter cuidado ao executar o Cronapp com esse perfil selecionado, pois, a depender das configurações do Diagrama, as estruturas de dados podem ser modificadas ou os dados podem ser excluídos (ver mais em Camada de persistência).

Novo perfil

Para criar um perfil, clique no botão Perfis na janela do Banco de Dados (destaque 9 da Figura 1). 

Os perfis "DEV" e "PROD" já existem em todos os projetos e serão representados pelos termos "Desenvolvimento" e "Produção" respectivamente. Para criar um perfil, clique no botão Novo (destaque 3 da figura 1.6) e informe um nome no novo campo.


Figura 1.6 - Aba de edição de perfil


  1. Perfil: coluna com campos editáveis dos nomes dos perfis. Campos recém inseridos exibirão o texto em amarelo.
  2. Remover perfil: só é possível remover perfis que não estão associados a nenhuma conexão de banco de dados.
  3. Novo: inclui um campo na coluna de perfis.
  • OK: retorna para a janela principal. Essa opção não salva as alterações, utilize o ícone Salvar dos botões de atalho (CTRL + S). 
  • Cancelar: retorna para a janela principal e ignora a edição atual dos perfis.

Vincular perfil a conexão

Para incluir outro perfil em uma conexão de banco de dados é necessário que tanto a conexão quanto o novo perfil já tenham sido criados.

Usaremos de exemplo a configuração apresentada na Figura 1.5, nela, a conexão "testeAB" possui um perfil "Produção" que está conectado a um banco de dados MySQL. Incluiremos outro perfil ("Desenvolvimento") também conectado a um banco MySQL.

Crie uma nova conexão de Banco de dados a partir do botão Novo (destaque 10 da figura 1) e configure como na imagem abaixo.


Figura 1.7 - O vínculo do perfil a uma conexão é feito a partir de uma nova conexão com o mesmo nome


  1. Nome: informe o nome exato da conexão que deseja incluir o perfil.
  2. Perfil: selecione o novo perfil para a conexão.

    Nota

    Atenção ao selecionar um perfil já vinculado, pois os novos dados serão atualizados para o perfil selecionado.


  3. Fabricante: selecione o fabricante de banco de dados relacionado ao perfil.
  4. Dados de conexão: informe os dados de acesso ao banco de dados. Para detalhes sobre os campos, acesse o tópico Novo banco de dados.


Clique em OK (figura 1.7) para retornar a lista de conexões e visualizar o perfil vinculado a conexão (destaque 1 da figura 1.8). Nesse momento, as configurações da ferramenta Banco de Dados ainda não estão salvas, clique em Salvar (2 da figura 1.8). 


Figura 1.8 - Resultado da inclusão do novo perfil

Âncora
gerenciarbd
gerenciarbd

Manipular dados

O Sistema de Gerenciamento de Banco de Dados (SGBD) online do Cronapp permite que adicione consultar e adicionar dados, consulte, crie criar tabelas e tabelas virtuais e , procedures e entre vários outros recursos. Ao abrir pela primeira vez, suas tabelas só serão mostradas após rodar ou executar o projetoutilizar um banco de dados H2 em seu projeto, as tabelas e seus dados só serão exibidos após executar o projeto pela primeira vez.


Figura 3 - Sistema de gerenciamento de banco de dados

Âncora
importarExcel
importarExcel

Importar arquivo Excel

A funcionalidade Banco de dados (context.xml) do Cronapp nos permite adicionar arquivos do Excel e converter em tabelas do banco de dados. Ele se comporta exatamente como uma tabela criada diretamente no Diagrama de dados. É importante salientar que as abas (sheets) das planilhas vão gerar os nomes das tabelas e cada linha será um registro (tupla) da tabela. A coluna Id é gerada automaticamente pelo Cronapp, portanto, não se faz necessário inserir uma coluna id no arquivo excel. 


Informações
titleImportante

A inserção de uma planilha não atualiza os registros existentes, apenas adiciona novos. É possível realizar toda e qualquer operação de banco de dados com a tabela importada. A funcionalidade de importar arquivos Excel aceita extensões do tipo .xls e .xlsx



Figura 4 - Importando arquivo do Excel para o banco de dados.


  1. Clique no ícone Importar arquivo Excel;
  2. Selecione o arquivo do seu computador, ou clique e arraste para a tela de Envio de arquivo;
  3. Finalize a operação de importação do arquivo clicando em OK.


Para verificar se sua tabela foi importada para o banco de dados, clique na opção Manipular dados (Figura 1). Faça uma consulta simples e observe o resultado. No exemplo da figura abaixo estamos verificando que a tabela ALUNOS foi importada no arquivo Aluxos.xlsx (Figura 4).


Figura 4.1 - Verificando se a tabela foi importada

Formatação aceita 

Existem alguns tipos de configurações na planilha que podem gerar erros de importação e inserção no banco de dados. Para evita-los é necessário seguir algumas recomendações.

  1. A primeira linha da tabela deve ser sempre reservada para os nomes das colunas (A1, B1, C1...), enquanto as linhas subsequentes devem conter os dados. Não respeitar essa condição resultará na fixação dos dados da segunda linha como nomes das colunas.

  2. É permitido ter dados faltantes no arquivo, contanto que eles sejam sinalizados como "NULL" ou utilizando o caractere espaço " ", deixar a célula totalmente em branco pode ocasionar erro de inserção no banco de dados.

  3. Os dados devem estar organizados em formato de tabela estruturada, ou seja, linha e coluna. Todo dado deve pertencer a uma coluna, inserir um dado fora de um campo que não seja coluna poderá gerar um erro de importação, em alguns casos o arquivo é importado e a coluna sem nome é intitulada como class automaticamente pelo banco.
    Ex.: Se a coluna F possuir um dado apenas na célula F3, isso ocasionará um erro durante a importação.

  4. Células que possuem fórmulas podem gerar efeito indesejado, resultando na exibição da própria fórmula em vez do resultado calculado.
    Ex.: Se a célula C4 tivesse a fórmula "=SOMA(C2 + 2)", o resultado no banco seria "SOMA(C2 + 2)" ao invés de "3".

A adoção dessas diretrizes garantirá uma correta formatação do arquivo e evitará possíveis problemas ou inconsistências ao importá-lo.

A tabela abaixo respeita todas as três regras citadas acima.


Tabela - Exemplo de planilha excel


ABCD     E           F     
1PRODUTOPRECOUNITARIOQUANTIDADEMERCADO

2maçã1,56Novo lar

3mangaNULLNULLNULL

4uva15Andrade Supermercado

5abacaxiNULL6Rede Fort

6limão1,22Mix

7





Âncora
ExportarPopulate
ExportarPopulate

Exportar arquivo de populate

Há uma funcionalidade do Banco de Dados (context.xml) que permite exportar um JSON que poderá ser utilizado para alimentar o arquivo populate.json com os dados de uma ou mais tabelas do banco de dados selecionado, como mostrado na figura 5.


Figura 5 - Exportando arquivo de populate


  1. Clique no ícone para exportar o arquivo de populate.
  2. Selecione o namespace do Diagrama de dados.
  3. Selecione a tabela com os dados que deseja exportar.

    Informações

    Só serão exibidas as tabelas que possuem classes referenciadas no diagrama selecionado. 

Por fim, será baixado um arquivo JSON onde poderá incluir no populte.json, acesse a documentação Arquivo populate json para mais detalhes sobre como trabalhar com o arquivo populate.json.

Âncora
contextXml
contextXml

Context.xml

Ao abrir o arquivo do banco de dados, context.xml (Endereço: config/context.xml), com o editor de texto é possível ver o xml que exibe todas as informações dos bancos de dados configurados em seu projeto no Cronapp (Figura 6).

Ao selecionar um perfil que não exista para uma conexão, o Cronapp utilizará o primeiro perfil listado para aquela conexão no arquivo context.xml. No exemplo da figura abaixo existem 3 perfis ("DEV", "PROD" e "QA"). Caso uma conexão esteja vinculada a apenas dois desses perfis (ex.: "DEV" e "PROD"), e o perfil selecionado durante a execução do projeto seja "QA", o Cronapp executará o primeiro perfil dessa lista para aquela conexão.


Nota

Para abrir como editor de texto, é preciso que a IDE esteja habilitada no Modo Avançado.


Figura 6 - Abrir banco de dados como texto


Elementos:

  • <Profile>: lista de perfis do projeto.
  • <Resource>: lista de conexões vinculada a perfis. Uma conexão com dois perfis vão gerar dois elementos <Resource> no arquivo context.xml.


Aviso

Tenha cuidado ao adicionar publicamente seu projeto em sistemas de controle de versões, como GitHub, bitbucket, GitLab e outros. 
No context.xml ficam armazenadas todas as informações de acesso ao seu banco, inclusive a senha.

Nesta página

Índice