Rafael Thofehrn Castro
Cientista da Computação
Projetos
aimaraJS
aimaraJS (Github) é um componente de árvore escrito puramente em javascript, criado em resposta a outros componentes que não se adequaram as necessidades dos meus projetos pessoais. O principal objetivo deste componente é permitir a inserção e remoção de nodos da árvore o mais rapidamente possível e oferecer outras funcionalidades para interagir com a mesma, como:
  • Criar uma estrutura inicial de árvore e a renderizar;
  • Adicionar e remover nodos em tempo real, quando a árvore já estiver renderizada;
  • Exibir nodos com ícones;
  • Eventos customizados quando nodos são abertos e fechados;
  • Nodos com menus de contexto.
Ferramenta de Manipulação de Diferentes Tecnologias de Bancos de Dados Relacionais

Aplicação ASP.NET com uma interface amigável para manipular bases de dados de diferentes tecnologias (atualmente com suporte a Oracle, PostgreSQL, MySQL e Firebird). Ela oferece funcionalidades para trabalhar com bases indivuais, como visualização de estruturas da base em forma de árvore, grafo detalhado de visualização de relacionamentos entre tabelas, gráficos com estatísticas, e també para trabalhar com pares de bases, como comparação e migração de estruturas e dados.

Comparação de Bancos de Dados

A aplicação oferece uma ferramenta para comparar estruturas de tabelas contidas em duas bases de dados diferentes. Ela procura por diferenças entre colunas das tabelas e detalhes dessas colunas. Os resultados são mostrados em gráficos e em uma tabela.

Migração de Estruras e Dados

Esta é a principal funcionalidade desta aplicação. Ela replica todas as estruturas de todas as tabelas (incluido constraints) e dados entre duas bases de dados diferentes. Estas bases podem pertencer a qualquer tecnologia suportada pela ferramenta.

Estruturas do Banco de Dados
Visualização em árvore das estruturas principais de uma base, usando o componente aimaraJS. Estruturas suportadas:
  • Tabelas;
  • Colunas de tabelas com informações detalhadas (tipo da coluna, tamanho e anulável);
  • Chave primária com suas colunas;
  • Restrições únicas com suas colunas;
  • Chaves estrangeiras com suas colunas, tabelas e colunas referenciadas;
  • Viões;
  • Colunas de visões;
  • Sequências, caso suportadas pela tecnologia.
Relacionamentos entre Tabelas

Relacionamentos entre todas as tabelas podem ser visualizados em um grafo onde os nodos representam tabelas e arestas os relacionamentos entre elas. Nodos são coloridos de acordo com a quantidade de registros armazenados na tabela, criando uma escala de cor.

Estatísticas de Tabelas

Gráfico em barras com informação sobre o número de registros armazenados em todas as tabelas da base de dados.

Consultas SQL e Resultados

Campo de texto com realce de sintaxe em SQL para executar consultas. Os resultados são mostrados em uma tabela interativa.