Pregunta

¿Hay alguna buena herramienta para visualizar un esquema de base de datos preexistente? Estoy usando MySQL si es importante.

Actualmente estoy usando MySQL Workbench para procesar un volcado de script de creación SQL, pero es torpe, lento y un proceso manual para arrastrar todas las tablas (lo que estaría bien si no fuera tan lento).

¿Fue útil?

Solución

Encontré SchemaSpy bastante bueno: debe ejecutar el script cada vez que cambia el esquema, pero no es así gran cosa.

Como se señaló en los comentarios, también hay una GUI para ello.

Otra buena herramienta es SchemaCrawler .

Otros consejos

Usualmente uso SchemaSpy para hacer esto, pero recientemente encontré un artículo realmente simple sobre sqlfairy que solo usa el archivo de volcado para crear el gráfico de estructura

Me gusta esta herramienta, llamada simplemente DbSchema . Está escrito en Java, por lo que se ejecuta en OS X, Windows o Linux. Es un poco torpe, especialmente cuando se trata de imprimir, pero desde mi experiencia, todos son así. Este es el mejor de los varios que he probado. Hace diagramas bonitos y claros. Prueba gratis. Cuesta alrededor de $ 120 dependiendo de cuántas licencias compre.

en Mac OS X puede usar Sequel Pro

Recomendaría Toad data modeller

¿Qué tal el Cliente SQL SQuirreL ? Como se menciona en otra pregunta SO , este programa tiene la capacidad de generar un diagrama ER simple.

¿Has probado el arreglo > función de organización automática en MySQL Workbench. Puede evitar que mueva las tablas manualmente.

DeZign para bases de datos puede ser interesante para usted. Puede realizar ingeniería inversa y modificar bases de datos existentes. Tiene una función de diseño automático y el diseño del diagrama no se combina cuando sincroniza su modelo de datos con la base de datos.

Visio professional tiene una herramienta de ingeniería inversa de base de datos incorporada. Debería poder usarlo con MySQL a través de un controlador ODBC. Funciona mejor cuando aplica ingeniería inversa a la base de datos y luego crea los diagramas arrastrándolos fuera de las tablas y el panel de vistas. Arrastrará cualquier objeto de clave externa y también lo colocará en el diagrama.

Estoy empezando a crear un script propio de Perl basado en el módulo SQL :: Translator (GraphViz). Aquí están primeros resultados .

Un enfoque diferente, pero si está utilizando Ruby on Rails, pruebe RailRoad: http://railroad.rubyforge.org

Busqué durante mucho tiempo una herramienta decente, y preferiblemente gratuita, para Linux y encontré esta aplicación java que es bastante buena (¡por fin!):

http://sqldeveloper.solyp.com/

Siendo Java, es multiplataforma (lo ejecuto en Linux sin problemas) y se conectará a cualquier base de datos para la que pueda obtener un controlador JDBC. es decir: prácticamente cualquier base de datos .

Es bastante fácil importar su base de datos y obtener una imagen ( ERM ) de El esquema de la base de datos. La función de diseño automático también es buena, pero tenga en cuenta que no se hace automáticamente y debe hacer clic en el "diseño automático". botón después de importar sus objetos en el diagrama.

La aplicación también es una muy buena herramienta genérica de administración / navegación de bases de datos. Como un pequeño ejemplo, lo uso en lugar de pgadmin para algunos trabajos de desarrollo base debido a sutilezas simples como el ancho de columna de los resultados de la consulta SQL que se ajusta automáticamente al contenido (lo que me vuelve loco en pgadmin).

Yo uso SQL :: Translator con DBIx :: Class

Tengo DBIx :: Class en mi cadena de herramientas de todos modos, y combinarlo con SQL :: Translator me permite convertir el esquema en muchos formatos diferentes. Principalmente scripts de SQL de inicialización para diferentes servidores de bases de datos (lo que facilita el desarrollo en SQLite y pasar a Postgresql para la producción), pero también puede generar datos GraphViz, por lo que los diagramas son triviales de generar.

ER / Studio by Embarcadero es uno de los más costosos, pero el modo jerárquico El presente es, con mucho, el mejor para comprender los modelos de bases de datos. Hace que la escritura de consultas sea la tarea más fácil del mundo.

También es increíble con normalización, desnormalización, almacenamiento, documentación, etc.

La desventaja es que es una herramienta bastante costosa, especialmente cuando se usa multiplataforma.

Cuando dice visualizar el esquema de la base de datos, ¿se refiere a un documento de texto de todas sus tablas, sprocs, etc., o se refiere a una representación visual de su esquema y dependencias?

Sé que mencionó MySQL (y es muy posible que ahora sea compatible, pero no estoy seguro), pero RedGate tiene una serie de herramientas que lo hacen bastante simple. Su programa SQL Doc puede tomar toda su base de datos y crear documentación de base de datos completa para ella. El Rastreador de dependencias de SQL puede brindarle una representación visual de todas sus tablas y mostrar sus enlaces, o puede cargar solo en ciertas tablas o sprocs para mostrar qué las está usando o qué están usando ellos mismos.

Hace años, solía usar Data Architect. No sé si todavía está ahí afuera.

Puede aplicar ingeniería inversa a un esquema existente en un diagrama de tabla relacional.

O podría ir aún más lejos y aplicar ingeniería inversa a un modelo de Entidad-Relación con un diagrama adjunto. Los diagramas ER fueron realmente útiles para mí cuando discutí los datos con personas que no eran programadores ni expertos en bases de datos.

Algunas veces se necesitaron algunas reparaciones manuales para el modelo ER y el diagrama ER antes de que fuera una herramienta de comunicación útil con las partes interesadas.

SchemaBall está haciendo la visualización de una manera interesante.

Adminer (anteriormente phpMinAdmin), la aplicación web para administrar bases de datos MySQL, dibuja un diagrama simple.

El software en sí es similar a phpMyAdmin, pero tiene más funciones, es liviano y viene en un solo archivo PHP.

texto alternativo http://img256.imageshack.us/img256/1112/adminer .png

Probé DBSchema. Características agradables, pero extremadamente lentas para una base de datos con aproximadamente 75 tablas. Inutilizable.

Pruebe PHPMyAdmin, que tiene una función de visualización y edición realmente agradable. Estoy bastante seguro de que incluso puedes exportar a exel desde allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top