Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: DI-1874

Conceitualmente a engenharia reversa é um estudo do processo de funcionamento de um objeto, podendo ser um sistema mecânico ou , software ou um banco de dados, ; através da análise de sua estrutura, função e operação.

No Cronapp, a funcionalidade engenharia Engenharia reversa traz converte as tabelas de um banco de dados externo cadastrado no sistema para o , pré-configurado, em classes do diagrama de dados. As novas classes, atributos e relacionamentos do diagrama serão geradas a partir das tabelas, campos e chaves estrangeiras do banco de dados externo.Esse procedimento é muito útil caso queira gerar toda a estrutura básica (camadas entity, DAO e formulário) de um sistema legado no Cronapp. Dessa forma é possível gerar as camada de persistência e páginas CRUD com base nessa estrutura. 

Além disso, o Cronapp permite que tabelas virtuais (também chamadas de views) sejam adicionadas no diagrama de dados através de uma reengenharia específica. Uma tabela virtual nada mas é que uma consulta SQL que contém linhas e colunas e que pode receber comandos, como declarações JOIN, WHERE e etc.

Nota
titleImportante

A engenharia reversa não funciona no banco H2 do Cronapp.

Pré-requisitos

  • Banco de dados relacional externo configurado no Cronapp, como um MySQL, SQL Server, etc. Caso não saiba como configurar um banco no Cronapp, acesse o link Banco de dados;

Image RemovedImage Added

Figura 1.1 - Exemplo de banco de dados externo configurado no Cronapp

  • Novo diagrama de dados com o banco de dados selecionado (destaque da Figura 1.2).

Image RemovedImage Added

Figura 1.2 - Novo diagrama de dados com o banco de dados selecionado

Gerando o diagrama a partir do banco de dados

Engenharia reversa

A opção gerar diagrama a partir do banco de dados  (destaque da Figura 2.1) abre uma janela de seleção mostrando as tabelas existentes no banco. Geralmente, as tabelas novas tabelas que irão para o diagrama já vem previamente selecionadas, mas é possível selecionar quais tabelas desejadas para realizar a engenharia reversa.as tabelas desejadas.

Ao modificar os filtros (destaques 5 e 6 da figura 2.1), as seleções feitas nas tabelas (destaque 7) não são alteradas. Esse recurso pode ser útil para selecionar poucas tabelas em bancos que possuem muitas tabelas e vários esquemas.


Image Added

Figura 2.1 - Janela de seleção de tabelas


  1. Em estratégia de chaves: define a forma de como as chaves da tabela serão geradas, podendo ser:
    • Auto: gera  gera as tabelas sem configurar o campo tipo de PK (auto completar identity ou UUID), necessário selecionar manualmente em cada tabela depois;
    • Forçar auto geração: gera  gera as tabelas com o campo tipo de PK configurado para identity quando a PK for inteiro ou UUID quando o PK for varchar;
    • Descobrir sequências: descobre a sequência utilizada no campo de auto-incremento de acordo com a sequência informada no campo Sequence Template.
  2. Sequence Template: esse campo obtém o Sequence utilizado na chave primária e, se houver, utilizará ele para gerar novos registros.
  3. Usar nomes reais do banco: o gerar a camada de persistência das classes criadas do Diagrama, o Cronapp sempre tenta converter os nomes das classes para o padrão UperCamelCase, atributos para o padrão lowerCamelCase e retirar caracteres como underline “_”, com o objetivo de melhorar a legibilidade do código gerado. Porém, ao obter as classes a partir da engenharia reversa, pode ser necessário manter a mesma grafia das tabelas e colunas do banco de dados para permitir, por exemplo, reutilizar consultas SQL. Exemplo: atributo_1, NomeDoAtributo, LIVROS.
  4. Extrair Relações: mantém o relacionamento padrão do Diagrama de dados (ex,: nome da sequência que será criada no banco de dados;1toN), exibindo a linha entre as caixas de classes e na propriedade Tipo do atributo de chave estrangeira exibirá o nome da classe relacionada. Ao desmarcar essa opção, não será exibido a linha de relacionamento e a propriedade Tipo do atributo de chave estrangeira exibirá o tipo real do atributo, exemplo:  string ou int. Em caso de chave composta, serão exibidos mais de um tipo real das chaves estrangeiras.
  5. Busca: pesquisa as tabelas que contém a sequência de palavras informadas;
  6. Marca / Desmar

Image Removed

Figura 7 - Selecionar tabelas

  1. .
  2. Filtrar por Esquemas: caixa de seleção que exibe as instâncias/esquemas informados ao cadastrar a conexão do banco de dados no Cronapp. Ela permite filtrar as tabelas e views das instâncias/esquemas selecionados.
    Obs.:  esse campo só será exibido se o banco possuir esse recurso (exemplo banco de dados Oracle).
  3. Caixa de seleção: permite selecionar apenas as tabelas que serão obtidas a partir da engenharia reversa. As opções selecionadas serão mantidas mesmo após alteração nos filtros.
  4. Lista as tabelas presentes no banco de dados.
  5. Tipo: informa o tipo da tabela.
  6. "...": abre a janela de seleção de colunas da tabela correspondente.
  7. Coletar: faz a engenharia reversa da configuração presente na janela e fecha a janela.
  8. Cancelar: cancela a engenharia reversa e fecha a janela.

Âncora
selecionar-colunas
selecionar-colunas

Também é possível escolher as colunas de cada tabela (Figura 2.2) que farão a engenharia reversa - É possível escolher os campos de cada tabela (Figura 8), ou seja, caso não queira gerar todo o conteúdo, é possível filtrar apenas os campos necessários clicando no botão "..." (Figura 7) ao lado da tabela correspondente. 

Image Removed

Figura 8 - Escolher campos para serem gerados

Pronto, tudo já foi configurado, agora clique em coletar e uma mensagem aparecerá informando que a engenharia reversa foi concluída com sucesso.

Image Removed

Figura 9 - Diagrama gerado via banco de dados

Informações
titleDica:
É possível separar as tabelas do diagrama por funcionalidade do sistema, facilitando a visualização. Veja mais em Visão do Diagrama de Dados.

as colunas desejadas.


Informações

Quando um campo chave (PK) no banco de dados PostgreSQL estiver definido com o tipo UUID, o Cronapp automaticamente configurará a propriedade Tipo de PK como "Nova GUID".


Image Added

Figura 2.2 - Escolher as colunas para serem geradas


  1. Busca: pesquisa as colunas que contém a sequência de palavras informadas.
  2. Marca / Desmarca as colunas da tabela, podendo ser todas ou uma por vez.
  3. Lista as colunas presentes na tabela.
  4. Informa os tipos das colunas correspondentes.
  5. Selecionar: salva a configuração feita na escolha de colunas e fecha a janela.
  6. Cancelar: cancela a configuração feita na escolha de colunas e fecha a janela.

Sincronizar views

A opção sincronizar views (destaque da Figura 3) abre a mesma janela que a opção gerar diagrama a partir do banco de dados contendo as mesmas configurações, sua diferença se encontra na listagem das tabelas, pois ela somente apresenta as tabelas virtuais presentes no banco de dados.

Informações
titleObservação

Uma tabela virtual sempre mostra os resultados de dados atualizados, pois ela não armazena os dados - ela somente os recria na memória. Mais informações em Visão (Banco de dados).


Image Added

Figura 3 - Janela de engenharia reversa para tabelas virtuais

Nessa página

Índice