¿Cómo puedo mostrar una base de datos gráficamente?

Me gustaría proporcionar una visualización intuitiva y no técnica de mi base de datos para las personas que están familiarizadas con los datos subyacentes, pero no con el diseño de la base de datos. La figura se incluirá en un artículo de revista, y la audiencia son principalmente estudiantes y científicos, muchos de los cuales no entenderán conceptos como "muchos a muchos" o claves primarias y externas.

Mi objetivo es transmitir una comprensión conceptual más que técnica de estas relaciones, y cómo son una forma útil de comprender los datos en sí. Se proporcionará como apéndice una descripción técnica y completa de la base de datos.

Veo que hay muchos tipos de diagramas de entidad-relación , pero no estoy seguro de cuál es el más adecuado para explicar un modelo de datos a mi audiencia. Tal vez haya otro enfoque.

¿Cómo puedo representar esto de una manera no técnica que evite las claves y proporcione una comprensión más intuitiva de las relaciones entre las tablas?

Aquí hay un ejemplo de mi punto de partida:

ingrese la descripción de la imagen aquí

La base de datos real tendrá 11 tablas, incluidas 3 utilizadas para definir relaciones de muchos a muchos, y muchos campos que se pueden descartar.

actualización: pero tenga en cuenta que no estoy buscando una forma de crear un diagrama ER de este tipo. Estoy buscando algo más abstracto, que evite la dependencia de las claves.

Aquí hay un bosquejo muy aproximado de una idea: utiliza la superposición para mostrar la jerarquía y un borde en negrita en la tabla clave, y para mostrar el nivel 'ideal' de abstracción (si pudiera contener y comunicar la información importante). Con suerte, estos puntos pueden ampliar el alcance de las posibles soluciones. Es un "boceto" en el que no he descubierto cómo asignar estos elementos visuales a relaciones específicas.

ingrese la descripción de la imagen aquí

Como se discutió en el meta de este sitio , esta pregunta está abierta y permanece sin respuesta en stats.SE

Algunas personas han publicado respuestas sobre qué herramientas usar: tenemos una pregunta anterior separada sobre qué herramientas usar para hacer diagramas de enlace de nodos . (Además, Abe dice (abajo) que es el enfoque, no la herramienta, de lo que trata esta pregunta)

Respuestas (5)

Voy a abordar esto desde un punto de vista puramente gráfico.

Mirando lo que es básicamente una base de datos... es un contenedor que contiene varios elementos sin igual. Con este fin, lo abordaría como tal. Lo literal o abstracto que obtenga dependerá de la impresión deseada en el lector.

Podrías ser muy básico y abstracto:

  • Un balde lleno de juguetes de diferentes colores, cada juguete representando datos diferentes. Duplica un juguete específico para indicar datos similares.
    juguetes
  • un juguete de formas donde cada forma representa datos diferentes:
    formas
  • Una caja de herramientas donde cada herramienta tiene datos diferentes:
    caja de herramientas
  • Una estantería donde cada libro representa datos diferentes:
    estante para libros

Básicamente, cualquier cosa que pueda clasificarse como un "contenedor" que contiene elementos variados. Personalmente, creo que una estantería es probablemente la mejor opción aquí. Shelf equivale a base de datos, libros equivalen a tablas y páginas equivalen a campos db.

Luego, podría ir más literalmente con lo visual utilizando diagramas de flujo como se menciona en otras respuestas. Nuevamente, realmente depende de la audiencia y de cuán básico debe ser con lo visual. Veo diagramas de flujo y pierdo el interés casi de inmediato, pero veo un pictograma con imágenes que reconozco y la información se transmite al instante.

(todas las imágenes están disponibles para su compra en www.Dreamstime.com )

Siendo un diseñador gráfico convertido en desarrollador web que incursiona en la administración de bases de datos de vez en cuando, a menudo creo representaciones visuales de las bases de datos que necesito administrar para mi propia cordura. Estoy muy orientado a lo visual, así que me ayuda.

Dicho esto, desde mi comprensión de su pregunta, creo que ya está en el camino correcto. Continuaría representando cada una de las 11 tablas con sus campos enumerados tal como comenzó. Para los campos que se relacionan con campos en otras tablas, dibujaría las líneas lo más claramente posible a sus contrapartes. Eso ya es bastante no técnico.

Creo que el Wiki que proporcionó brinda una buena perspectiva de la representación más técnica, pero si está tratando de mantenerlo simple, simplemente ampliaría el ejemplo que proporcionó.

Gracias por su respuesta: estaba pensando que podría abstraer aún más el contenido de la tabla que no necesariamente requeriría la asignación uno a uno de los campos en las tablas al diagrama.

Busque en Visio desde Windows. Lo he usado en el pasado, tiene un precio razonable pero puede ayudar y para mí es un programa de diagrama completo. Según su pregunta, posiblemente elegiría Visio porque puede usar íconos gráficos para mostrar lo que necesita. Además, al crear diagramas en Visio, podrá probar su base de datos por relación y claves.

Ejemplos de Visio:

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí


Para mac, puede crearlos en xcode yendo a crear y eligiendo el diagrama de plantilla.

**

Ejemplo para xcode:

ingrese la descripción de la imagen aquí


Alternativas de código abierto a Visio:

  1. Oficina abierta | Sorteo de LibreOffice
  2. diámetro
  3. LucidChart
  4. esquemáticamente
  5. proyecto de lápiz

Espero que esto ayude y sea lo que necesita y busca.

Gracias por la sugerencia, pero estoy buscando un enfoque que sea más intuitivo que los ejemplos que proporciona. Quizás haya otro enfoque que podría estar generando usando una de estas herramientas, pero estoy más interesado en el enfoque que en la herramienta.
mil disculpas pero me estaba pasando por tu post y creo que estas sobre analizando todo. Usted declaró The figure will be included in a journal article, and the audience is primarily students and scientists. Según esa suposición, asumiría que pensar demasiado en el aspecto del diseño los confundiría y, como dijo Horatio non-technical people, you MUST avoid over charting. Además, por su punto de partida, básicamente ha creado una tabla como lo haría en Visio.

Para las personas no técnicas, DEBE evitar el exceso de gráficos. Debe identificar las tablas principales únicas y mostrar visualmente el concepto de muchos registros secundarios para cada una, con un máximo de 3 niveles de profundidad. Esto significará muchas más imágenes, en trozos pequeños, con superposición.

Además, proporcione definiciones básicas de los términos más importantes como "muchos a 1". La mayoría de las personas no tienen problemas para relacionarse con un padre con 5 hijos que comparten un identificador.

Su ilustración de muestra no es la mejor porque se basa en la palabra "muchos". Una posibilidad es mostrar un registro de un solo autor con 3 registros de libros y la palabra "muchos" (definida antes de su uso) superpuesta a las 3 líneas que conectan los libros con el autor. La idea es mostrarlo, no contarlo.

La siguiente ilustración podría ser un poco más tradicional, y luego, al final, puede decir más que mostrar, porque el concepto se ha definido, ilustrado y luego utilizado.

Puede probar OmniGiraffe, que es un generador de diagramas de flujo para Mac. Solo lo he visto usado una o dos veces, así que no puedo hablar de qué tan bien funciona, pero podría ajustarse a sus necesidades.

Gracias por la sugerencia, pero estoy buscando más un enfoque que una herramienta específica.