2008-10-03 14 views
180

¿Hay alguna manera de generar un diagrama que muestre las tablas existentes y sus relaciones dadas una conexión a una base de datos?Generar diagrama de relación de tabla a partir del esquema existente (SQL Server)

Esto es para SQL Server 2008 Express Edition.

+45

¿Qué tipo de pedante cierra una pregunta basada en hechos como esta con una respuesta definitiva? El ruls es BS de todos modos, pero especialmente en este caso cuando tantos usuarios encontraron útil tanto la pregunta como la respuesta. – Marc

+0

una herramienta gratuita llamada [SchemaSpy] (http://schemaspy.sourceforge.net/) puede hacer eso como charm. Pero, necesita un poco de configuración. He detallado el paso aquí: http://blog.kmonsoor.com/generate-er-diagram-from-sql-database/ – kmonsoor

+0

@Marc Al principio estuve de acuerdo contigo, pero muchas personas respondieron con su software favorito en lugar de responder "¿puede el servidor SQL producir un diagrama?", que sí" atraía respuestas con comentarios y spam ". Pero acepto que el" fuera de tema "en realidad no tiene sentido, y que quizás algún día llegue una nueva respuesta. – Asoub

Respuesta

152

sí se puede utilizar SQL Server 2008 sí, pero es necesario para instalar SQL Server Management Studio Express (si no está instalado). Simplemente haga clic en Diagramas de base de datos y cree un nuevo diagrama. Seleccione las tablas existentes y si ha especificado las referencias en sus tablas correctamente. Podrá ver el diagrama completo de las tablas seleccionadas. Para mayor referencia, ver:

+2

Cualquier forma de hacer esto con SQL Server Compact 3.5? – GWTF

4

¿Por qué no solo utiliza la funcionalidad de diagrama de base de datos integrada en SQL Server?

+4

No siempre está disponible ... algunas versiones de SSMS y SQL no permiten debido a la licencia – ppumkin

46

Pruebe DBVis - descargue en https://www.dbvis.com/download/ - hay una versión pro (no es necesaria) y una versión abierta que debería ser suficiente.

Todo lo que tiene que hacer es obtener el JDBC correcto - controlador de base de datos de SQL Server, la herramienta muestra tablas y referencias ortogonales, hirarchical, en un círculo ;-) etc. simplemente presionando un solo botón. Uso la versión gratuita desde hace años.

+1

Esto fue muy fácil de configurar, y produjo un diagrama mucho más legible que las herramientas de SQL Server. +1 – notJim

+0

Muy fácil de configurar si JDBC ya está ejecutando. De lo contrario, potencialmente en [todo a la configuración familiar] (http://stackoverflow.com/questions/1086764/how-can-i-make-ms-sql-server-available-for-connections). – ruffin

+0

+ ∞ para esto. life life! – Olayinka

2

Visio Professional tiene una función de ingeniería inversa de base de datos si yiu crea un diagrama de base de datos. No es gratis, pero es bastante omnipresente en la mayoría de las empresas y debería ser bastante fácil de conseguir.

Tenga en cuenta que Visio 2003 no juega bien con SQL2005 o SQL2008 para la ingeniería inversa - que tendrá que obtener 2007.

+6

Desafortunadamente, esta característica se eliminó en Visio 2013. –

2

SchemaCrawler for SQL Server puede generar diagramas de base de datos, con la ayuda de GraphViz. Las relaciones de claves foráneas se muestran (e incluso se pueden inferir, utilizando convenciones de nomenclatura), y las tablas y columnas se pueden excluir utilizando expresiones regulares.

+1

"Relaciones de claves foráneas se deducen, utilizando convenciones de nomenclatura" - totalmente inaplicable para en el m la mayoría de los casos comerciales reales. – Ivan

9

Para declaraciones de SQL, puede probar copos de nieve inversos. Puede unirse al sourceforge o al sitio de demostración al http://snowflakejoins.com/.

+0

No hace la tarea (visualizar el esquema de la base de datos) pero aún así es muy bueno. Me gustaría que hubiera algo como esto para generar un diagrama ordenado de una red informática a partir de una descripción textual ... – Ivan

0

MySQL WorkBench es un software gratuito desarrollado por Oracle, puede importar un archivo SQL o especificar una base de datos y generará un diagrama SQL que puede mover para que sea más atractivo visualmente. Funciona en GNU/Linux y Windows y es gratis y tiene un aspecto profesional ..

+0

Ya no parece ser compatible con DBMSes distintos de MySQL. Además, su diagrama de diseño automático es terrible. – Ivan

+0

el diseño automático simplemente apila todo encima de otro, luego debe arrastrar cada tabla a la posición adecuada, puede ser espantoso, pero dudo que ningún algoritmo sea lo suficientemente inteligente como para ordenar todo prolijamente. En cuanto a la compatibilidad con SQL, la utilizo con las consultas del servidor H2 y creo que son compatibles con la mayoría de los SQL compatibles con SQL-92, por lo que si su código no cumple con SQL-92 podría ser una buena ocasión para verificarlo. – dendini

+0

Las incompatibilidades están en todas partes, desde cosas muy básicas como el uso de cotizaciones/corchetes hasta enormes diferencias en DDL (tablas/claves/restricciones/lenguaje de definición de índices) y diferencias fundamentales en tipos (como usar un tipo separado para cadenas Unicode). – Ivan

Cuestiones relacionadas