Buena herramienta para visualizar el esquema de la base de datos? [cerrado]
137
¿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).
Gracias, pensé que la interfaz de la línea de comandos era un poco difícil, por supuesto, una vez que la puse en funcionamiento, noté el enlace a la GUI en la página principal, joachim-uhl.de/projekte/schemaspygui . También debe tenerse en cuenta que el programa inserta anuncios de Google en el HTML resultante.
James McMahon el
1
Esto es bueno. Y vale la pena señalar que se debe hacer un montón de afeitado de yak para que funcione.
Ken Prince
¡Esto es genial! Fue fácil hacerlo funcionar. Solo sigue las instrucciones. Además, debe tenerse en cuenta que no solo funciona con MySQL y: DB2, Derby, Firebird, HSQLDB, Informix, MaxDB, MS SQL, Oracle, PostgreSQL, SQLite, Sbase, Teradata.
iled
Ahórrate el trabajo y ve con DbVisualizer ( dbvis.com ). Funciona con una variedad de bases de datos, incluido SQLite, y su EULA permite que la versión gratuita se use para proyectos comerciales.
Aralox
14
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
+1 para sqlfairy no requiere JRE (como la mayoría de las otras respuestas).
mikewaters
Acabo de recibir lo que necesitaba de sqlfairy. Simple y rapido.
Fivedogit
sqlfairy puede usar grandes cantidades de espacio en disco para grandes bases de datos. Lo ejecuté para una base de datos que tenía un tamaño de 615 mb y se descompuso después de haber llenado los 18 gb que quedaron libres en mi disco duro.
Pascal
Ese es un viejo comentario ... ¿Estas herramientas aún están en desarrollo?
Hons
11
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.
Excelente herramienta También hay una edición gratuita que tiene la mayoría de las excelentes características (sincronización con live db, por ejemplo).
wheleph
esta es una gran herramienta, incluso puede generar claves foráneas virtuales, ¡guau!
Gracias @fguillen! Agreguemos la explicación aquí (antes de que el enlace se rompa ...). Son solo 4 sencillos pasos: 1.) Instale graphviz , está disponible en MacPorts ( sudo port install graphviz) y en Homebrew ( brew install graphviz). 2.) Exportar archivo Dot (en SequelPro vaya a Archivo> Exportar> Graphviz Dot y exporte su base de datos) 3.) Abra el terminal y convierta el archivo dot a SVG dot -Tsvg your_database.dot > your_database.svg4.) Opcionalmente convierta SVG generado a JPG o PNG usando cualquier herramienta que elija (Inkscape, ImageMagick, GraphicsMagick, etc.)
Vale la pena intentarlo, siempre termino organizándome también, pero a veces puede ayudarme a comenzar.
Brian Fisher
2
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.
Tenga en cuenta que la función de distribución automática no es adecuada para bases de datos más grandes, es solo un gran desastre. (por ejemplo, el espacio para el diagrama parece ser limitado y, por lo tanto, hay muchas mesas apiñadas en el borde derecho (en nuestro caso, 75 mesas en un solo lugar). Jugué con las diferentes opciones de diseño, pero el resultado no es bueno en ninguna de las opciones.
Lonzak
2
Visio profesional tiene una herramienta de base de datos de ingeniería inversa construido en él. 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.
Busqué durante mucho tiempo una herramienta decente, y preferiblemente gratuita, para Linux y encontré esta aplicación java que es bastante buena (¡por fin!):
Al ser 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: casi cualquier base de datos .
Es muy fácil importar su base de datos y obtener una representación visual ( ERM ) del 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 botón "diseño automático" 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 las consultas SQL que se ajustan automáticamente al contenido (lo que me vuelve loco en pgadmin).
Estoy de acuerdo con ésto. He estado buscando cualquier herramienta GUI para visualizar bases de datos postgresql en Linux y la mayoría de ellas caen de bruces. Acabo de comenzar a usar SQL Developer, pero es la mejor opción gratuita que he encontrado hasta ahora.
Adam Plumb
1
No puedo proporcionar una nueva respuesta ya que la pregunta ahora está cerrada, pero la herramienta que realmente desea es DbVisualizer ( dbvis.com ). Es fantástico ... mucho mejor de lo que recomendé en mi pregunta (si mi uso en los últimos años es una indicación).
De todos modos, tengo DBIx :: Class en mi cadena de herramientas, 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 el traslado a Postgresql para la producción), pero también puede generar datos de GraphViz, por lo que los diagramas son triviales de generar.
ER / Studio de Embarcadero es uno de los más costosos, pero el modo jerárquico que presenta 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.
Tal vez esto funcione para esquemas triviales, pero lo probé en un esquema con 28 tablas y me dio una lista puramente vertical de todas las tablas en orden alfabético, con un desorden de líneas verticales que intentan ilustrar las relaciones. No podría ser más inútil.
Dolph
Exactamente, en mi caso 40 mesas. Puede hacer clic para arrastrarlo, pero una vez que seleccione, no podrá seleccionarlo.
Ziyan Junaideen
0
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 ciertas tablas o sprocs para mostrar qué las está usando o qué están usando ellos mismos.
Las herramientas de Red Gate son SQL Server, solo me temo.
Dave R.
Estaba buscando una representación gráfica visual en lugar de un documento de base de datos completo, pero aún suena interesante (incluso si es solo SQL Server, tenga otras cosas que lo usen).
Mat
0
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.
A veces, algunas reparaciones manuales del modelo ER y el diagrama ER eran necesarias antes de que fuera una herramienta de comunicación útil con las partes interesadas.
Pruebe PHPMyAdmin, que tiene una función de visualización y edición realmente agradable. Estoy bastante seguro de que incluso puedes exportarlo para exel.
Respuestas:
SchemaSpy me pareció bastante bueno: debe ejecutar el script cada vez que cambia el esquema, pero no es tan importante.
Como se señaló en los comentarios, también hay una GUI para ello.
Otra buena herramienta es SchemaCrawler .
fuente
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
fuente
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.
fuente
en Mac OS X puedes usar Sequel Pro
fuente
+1
Sequel Pro es muy recomendable.sudo port install graphviz
) y en Homebrew (brew install graphviz
). 2.) Exportar archivo Dot (en SequelPro vaya a Archivo> Exportar> Graphviz Dot y exporte su base de datos) 3.) Abra el terminal y convierta el archivo dot a SVGdot -Tsvg your_database.dot > your_database.svg
4.) Opcionalmente convierta SVG generado a JPG o PNG usando cualquier herramienta que elija (Inkscape, ImageMagick, GraphicsMagick, etc.)Yo recomendaría Toad Data Modeller
fuente
¿Qué tal el Cliente SQL SQuirreL ? Como se mencionó en otra pregunta SO , este programa tiene la capacidad de generar un diagrama ER simple.
fuente
¿Has probado la función organizar> organizar automáticamente en MySQL Workbench. Puede evitar que mueva las tablas manualmente.
fuente
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.
fuente
Visio profesional tiene una herramienta de base de datos de ingeniería inversa construido en él. 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.
fuente
Estoy empezando a crear un script propio de Perl basado en el módulo SQL :: Translator (GraphViz). Aquí están los primeros resultados .
fuente
Un enfoque diferente, pero si está utilizando Ruby on Rails, pruebe RailRoad: http://railroad.rubyforge.org
fuente
gem install railroady
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/
Al ser 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: casi cualquier base de datos .
Es muy fácil importar su base de datos y obtener una representación visual ( ERM ) del 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 botón "diseño automático" 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 las consultas SQL que se ajustan automáticamente al contenido (lo que me vuelve loco en pgadmin).
fuente
Yo uso SQL :: Translator con DBIx :: Class
De todos modos, tengo DBIx :: Class en mi cadena de herramientas, 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 el traslado a Postgresql para la producción), pero también puede generar datos de GraphViz, por lo que los diagramas son triviales de generar.
fuente
ER / Studio de Embarcadero es uno de los más costosos, pero el modo jerárquico que presenta 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.
fuente
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.
fuente
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 ciertas tablas o sprocs para mostrar qué las está usando o qué están usando ellos mismos.
fuente
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.
A veces, algunas reparaciones manuales del modelo ER y el diagrama ER eran necesarias antes de que fuera una herramienta de comunicación útil con las partes interesadas.
fuente
SchemaBall está haciendo la visualización de su propia manera interesante.
fuente
Probé DBSchema. Características agradables, pero extremadamente lentas para una base de datos con aproximadamente 75 tablas. Inutilizable.
fuente
Pruebe PHPMyAdmin, que tiene una función de visualización y edición realmente agradable. Estoy bastante seguro de que incluso puedes exportarlo para exel.
fuente