Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Conceitualmente a engenharia reversa é um estudo do processo de funcionamento de um objeto, podendo ser um sistema mecânico, software ou banco de dados; através da análise de sua estrutura, função e operação.
No Cronapp, a funcionalidade Engenharia reversa converte as tabelas de um banco de dados externo, pré-configurado, em classes do diagrama de dados. 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 | ||
---|---|---|
| ||
A engenharia reversa não funciona no banco H2. |
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;
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).
Figura 1.2 - Novo diagrama de dados com o banco de dados selecionado
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 vem previamente selecionadas, mas é possível selecionar 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.
Figura 2.1 - Janela de seleção de tabelas
- Em estratégia de chaves: define a forma de como as chaves da tabela serão geradas, podendo ser:
- Auto: 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 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.
- Sequence Template: esse campo obtém o Sequence utilizado na chave primária e, se houver, utilizará ele para gerar novos registros.
- 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
. - Extrair Relações: mantém o relacionamento padrão do Diagrama de dados (ex,: 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
ouint
. Em caso de chave composta, serão exibidos mais de um tipo real das chaves estrangeiras. - Busca: pesquisa as tabelas que contém a sequência de palavras informadas.
- 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). - 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.
- Lista as tabelas presentes no banco de dados.
- Tipo: informa o tipo da tabela.
- "...": abre a janela de seleção de colunas da tabela correspondente.
- Coletar: faz a engenharia reversa da configuração presente na janela e fecha a janela.
- 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 - ou seja, caso não queira gerar todo o conteúdo, é possível filtrar apenas as colunas desejadas.
Informações |
---|
Quando um campo chave (PK) no banco de dados PostgreSQL é estiver definido como como com o tipo UUID, o Cronapp automaticamente configurará a propriedade Tipo de PK como "Nova GUID". |
Figura 2.2 - Escolher as colunas para serem geradas
- Busca: pesquisa as colunas que contém a sequência de palavras informadas.
- Marca / Desmarca as colunas da tabela, podendo ser todas ou uma por vez.
- Lista as colunas presentes na tabela.
- Informa os tipos das colunas correspondentes.
- Selecionar: salva a configuração feita na escolha de colunas e fecha a janela.
- 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 | ||
---|---|---|
| ||
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). |
Figura 3 - Janela de engenharia reversa para tabelas virtuais
Nessa página
Índice