Este componente permite explorar relacionamentos complexos entre tabelas do banco de dados bacteriaDB, incluindo relacionamentos que requerem múltiplos joins.
- Seleção de Múltiplas Tabelas: Adicione quantas tabelas desejar para a consulta
- Auto-detecção de Relacionamentos: Encontra automaticamente os joins necessários
- Visualização de Caminhos: Mostra como as tabelas se conectam
- Seleção de Colunas: Escolha quais colunas mostrar de cada tabela
- Preview SQL: Visualize o SQL gerado antes de executar
- Exportação: Exporte resultados em CSV ou JSON
Tabelas envolvidas:
isoladoisolado_composicao_consorcio(tabela intermediária)consorcio
Consulta gerada:
SELECT
isolado.id,
isolado.nome,
consorcio.id,
consorcio.nome,
consorcio.amostra_origem
FROM isolado
JOIN isolado_composicao_consorcio ON isolado.id = isolado_composicao_consorcio.isolado_id
JOIN consorcio ON isolado_composicao_consorcio.consorcio_id = consorcio.id
LIMIT 100;Tabelas envolvidas:
isoladounidade_experimental(tabela intermediária)curva_crescimento
Consulta gerada:
SELECT
isolado.id,
isolado.nome,
unidade_experimental.tipo,
curva_crescimento.tempo_horas,
curva_crescimento.densidade_optica
FROM isolado
JOIN unidade_experimental ON isolado.id = unidade_experimental.isolado_id
JOIN curva_crescimento ON unidade_experimental.id = curva_crescimento.uexperimental_id
LIMIT 100;Tabelas envolvidas:
isoladousuario(tanto para coleta quanto para isolamento)bancadabioinformaticainformacoes_deposito
Consulta gerada:
SELECT
isolado.id,
isolado.nome,
usuario_coleta.nome as coletor,
usuario_isola.nome as isolador,
bancada.morfologia,
bioinformatica.pangenoma,
informacoes_deposito.acession_ncbi
FROM isolado
JOIN usuario as usuario_coleta ON isolado.usuario_coleta_id = usuario_coleta.id
JOIN usuario as usuario_isola ON isolado.usuario_isola_id = usuario_isola.id
JOIN bancada ON isolado.id = bancada.isolado_id
JOIN bioinformatica ON isolado.id = bioinformatica.isolado_id
JOIN informacoes_deposito ON isolado.id = informacoes_deposito.isolado_id
LIMIT 100;-
Adicionar Tabelas:
- Selecione uma tabela no dropdown
- Clique em "Adicionar"
- Repita para adicionar mais tabelas
-
Definir Relacionamentos:
- Clique em "Auto-detectar" para encontrar relacionamentos automaticamente
- Ou adicione relacionamentos manualmente
-
Selecionar Colunas:
- Marque as colunas que deseja visualizar
- Use "Selecionar Todas" ou "Limpar" para facilitar
-
Executar Consulta:
- Revise o SQL gerado
- Clique em "Executar Consulta"
O banco bacteriaDB possui várias relações que requerem múltiplos joins:
-
Isolado ↔ Consórcio:
isolado→isolado_composicao_consorcio→consorcio
-
Isolado ↔ Curva de Crescimento:
isolado→unidade_experimental→curva_crescimento
-
Usuário ↔ Múltiplas Funções:
- Um usuário pode ser tanto coletor quanto isolador
- Requer joins separados para cada função
-
Isolado ↔ Informações Completas:
isoladoconecta combancada,bioinformatica,informacoes_deposito- Cada um com informações específicas
- Detecção Automática: Algoritmo BFS para encontrar caminhos ótimos
- Prevenção de Loops: Evita joins circulares
- Caching: Reutiliza cálculos de relacionamentos
- Limitação de Resultados: LIMIT automático para performance
- Validação: Verifica relacionamentos antes de executar
- Limite as Tabelas: Não adicione tabelas desnecessárias
- Selecione Colunas Específicas: Evite selecionar todas as colunas
- Use Filtros: Adicione WHERE clauses manualmente se necessário
- Monitore Resultados: Verifique o número de registros retornados
- Sem Relacionamentos: Verifique se as tabelas têm foreign keys definidas
- SQL Incorreto: Use o preview para verificar antes de executar
- Performance Lenta: Reduza o número de tabelas ou colunas
- Resultados Vazios: Verifique se os dados existem nas tabelas relacionadas