2009-08-13 17 views
9

Actualmente estoy escribiendo un control (en C#) para mostrar un conjunto de tablas y las relaciones que existen entre ellas. Obtuve el control básico, pero me gustaría implementar algo similar a la función "Organizar automáticamente" proporcionada por el componente de diagramación de SQL Express.Algoritmo para organizar automáticamente diagrama de relación de entidad

¿Qué tipo de algoritmo se sigue para identificar el diseño óptimo de las tablas? Es decir, un algoritmo que considera todas las "rutas de relación" y presenta un diseño en el que las tablas se pueden organizar sin demasiado desorden.

Respuesta

1

Echa un vistazo graph layout algorithms, en particular "diseño ortogonal". Según Wikipedia, este es un diseño de "con bordes que se extienden horizontal o verticalmente, con enfoques que reducen el número de cruces de bordes y el área cubierta".

4

Mire en Graphviz. Incluso si no puede usarlo como una dependencia, tiene mucha documentación sobre los algoritmos utilizados.

Cuestiones relacionadas