Ok, estoy armando un sistema de reporteador tipo OLAP.
Quiero que el sistema automagicamente deduzca las relaciones entre las tablas que el usuario selecciona.
Tengo estas tablas relacionadas asi:
Municipio 1-* Barra
Cliente 1-* Barra
Banco 1-* EncabezadoMovimiento
Cliente 1-* EncabezadoMovimiento
Asi que quiero preguntar:
Código Delphi
[-]
RelacionesEntre('Cliente','Barra')
=
'Cliente','Barra'
RelacionesEntre('Municipio','Cliente')
=
'Municipio','Cliente','Barra'
RelacionesEntre('Banco','Barra')
=
'Banco','Barra','Cliente','EncabezadoMovimiento'
Tengo todo dentro de un grafo, y ya le aplico un algoritmo de ruta corta para sacar la forma mas eficiente de relacionar, pero no se como substraer de un grafo un subgrafo que sea conectado.
Alguna idea? Seudocodigo estario Ok o ejemplo en cualquier lenguaje menos assembler.