Ir para o conteúdo

Diagrama Relacional

O canvas central da interface exibe as tabelas do schema como nós interativos conectados por setas que representam as chaves estrangeiras.

Diagrama relacional

Tecnologia

O diagrama é construído com ReactFlow. Cada tabela é um nó do tipo tableNode (componente customizado) e cada FK é uma aresta animada.

Interações no canvas

Ação Como fazer
Selecionar uma tabela Clique no nó da tabela
Mover uma tabela Arraste o nó pelo canvas
Zoom Scroll do mouse ou pinch no trackpad
Pan (mover o canvas) Arraste o fundo
Fit all Botão de ajuste nos controles do ReactFlow

Aresta de FK

Quando uma coluna é marcada como chave estrangeira com tabela e coluna de referência válidas, uma aresta animada é desenhada automaticamente do nó de origem até o nó de destino.

  • Cor: rosa (#ec4899)
  • Largura: 2px
  • Estilo: animado (tracejado móvel)
  • Marcador: seta fechada na ponta

Auto Layout

O botão Auto Layout reorganiza os nós do canvas usando o algoritmo Dagre em modo LR (esquerda para direita).

Parâmetros utilizados:

Parâmetro Valor
rankdir LR
ranksep 250
nodesep 150
Largura do nó 300px
Altura do nó 100 + (número de colunas × 35) px

Quando usar Auto Layout

Use o Auto Layout após importar um schema YAML com muitas tabelas. A disposição automática facilita a leitura das relações entre tabelas.

Persistência de posições

As posições dos nós são armazenadas no estado interno do React (campo position em cada objeto Table). Ao exportar o schema como YAML, as posições não são incluídas — o YAML contém apenas a estrutura lógica.

Ao importar um YAML, as tabelas recebem posições iniciais calculadas como { x: 50 + index * 300, y: 100 + (index % 2) * 200 }.