Crear un esquema EER desde el gestor de base de datos MySQL Workbench

Crear un esquema EER desde el gestor de base de datos MySQL Workbench

Usando MySQL Workbench.

MySQL Workbench es una herramienta para desarrollar y administrar bases de datos. Tiene 3 grandes areas de funcionalidad:

  1. SQL Development: Reemplaza a MySQL query browser. Desde aquí termine al usuario conectar a una base de datos existente, permite realizar queries, y una administración básica de la base de datos.
  2. Data Modeling: Es un completo gestor visual para diseñar y definir la arquitectura de la base de datos.
  3. Database Administration:Reemplaza a MySQL Administrator, es un interface gráfico para administración de la base de datos y del servidor en general, se puede editar archivos de configuración de Mysql, se puede crear nuevos usuarios, y si estamos trabajando con una base de datos local, se puede reiniciar el servicio de mysql.

Planificando la base de datos
Como siempre lo mejor es hacer un boceto rápido en papel.
Como veis en la siguiente imagen no podría entregar a un equipo de desarrolladores la arquitectura de la base de datos con el siguiente gráfico, aunque en el mundo real a veces las especificaciones que te dan se parecen a estas, un infierno.

El esquema que se puede elaborar desde Mysql WorkBench es un esquema EER.
EER es un modelo de alto nivel o modelo conceptual de datos que mejora la entidad-relación (ER), que se utiliza en el diseño de bases de datos. Se utiliza para reflejar con toda la precisión que se pueda las características y limitaciones que se encuentran en una base de datos. EER viene del ingles enhanced entity-relationship o modelo entidad-relación mejorado.

El modelo EER incluye todos los conceptos introducidos por el modelo ER. Además, incluye los conceptos de una subclase y superclase, junto con los conceptos de especialización y generalización. Además, se introduce el concepto de un tipo de unión o de una categoría, que se utiliza para representar una colección de objetos que es la unión de objetos de diferentes tipos de entidades.

Relaciones entre tablas

Si queremos crear tablas físicas en MySQL las relaciones tienen que estar mapeadas de alguna manera.
Para mapear estas relaciones entre tablas existen diferentes reglas:

  • 1:1. El primary key para una de las tablas es incluido como foreing key en otra tabla.
  • 1:n. uno-a-muchos. Consiste en establecer una relación entre un atributo identificativo, ya sea un primary key u otro campo que permita diferenciarlo de otra instancia de una tabla A, con n campos de la tabla B. Por ejemplo:
    Una factura (entidad) se emite (relación) a una persona (entidad) y sólo una, pero una persona puede tener varias facturas emitidas a su nombre. Todas las facturas se emiten a nombre de alguien.
  • n:m. Es cuando se crea una tabla mediante un join. La clave primaria es compuesta por los primary keys de las dos tablas originales. Por ejemplo: Un cliente (entidad) puede comprar (relación) varios artículos (entidad) y un artículo puede ser comprado por varios clientes distintos.

Crear El schema y las tablas

Desde el menú principal de Mysql Workbench seleccionamos la opción de Create New EER Model.

Creamos o importamos nuestra base de datos con las tablas. O las vamos creando desde 0, a partir de nuestro boceto inicial.
La creación de la arquitectura de la base de datos y las tablas no es algo que salga a la primera, requiere ir profundizando en la aplicación, estimar que necesitarás a largo plazo y contemplarlo en el modelo de datos a pesar de que no se programe inicialmente.

El menu principal que veremos será algo parecido a esto.

Una vez tengamos nuestras tablas creadas, o al menos la primera version o fase de las tablas, pinchamos en el botón de EER Diagram para crear nuestro modelo EER.O bien podemos seleccionar Model >Create Diagram from catalog object.

Esto nos cargará todas las tablas que hemos creado en el canvas de la aplicación y podremos empezar a establecer las relaciones entre las tablas.

Como he explicado anteriormente usaremos los tipos de relaciones para ir creando el modelo de relación entre nuestra tablas. Para ello usaremos las opciones de MySQL Workbench para establecer las relaciones.

A medida que se vayan creando las relaciones irá quedando el modelo definido, como aparece en la siguiente imagen.


(Nota: este modelo es una ejemplo que estoy utilizando, no es real)

Se puede cambiar el tipo de notación que representan las relaciones. A mi personalmente me gusta mas el tipo de notación UML que el que esta usando Workbench.
Para cambiarlo, dentro de la Diagrama EER > Model > Relationship Notation y se pueden elegir entre 5 opciones.

Esto llevará varias horas, o como a mi varios días. Si se esta haciendo un modelo de datos profesional para un entorno en producción puede llevar bastante tiempo en el desarrollo de la arquitectura de la base de datos. Incluso a pesar de todo el tiempo invertido siempre pueden surgir limitaciones y deficiencias.
Es muy importante intentar desarrollar el modelo pensando en todas la funcionalidades que tendrá la aplicacion a corto y que pueda tener a largo plazo. Para por lo menos tener un buen modelo de datos en el momento de salida y poder escalar bien la base de datos.

El diagrama se puede exportar a PNG, SVG, PDF o un archivo PostScript.

Uno de mis proyectos actuales presenta el siguiente aspecto:

Conclusión: MySQL Workbench es una herramienta excepcional y sin duda algo que se debería usar en todo momento a la hora de gestionar una base de datos, como mínimo la parte de Data Modeling y Database Administration. En este tutorial no me acerco ni de lejos a todo el potencial del programa pero al menos he comentado a modo de introducción una de las partes que es el diagrama EER.

Tags de búsquedas:

SQL DEVELOPER -- ENTIDAD RELACION BBDD,diagrama eer,ejemplos de base de datos en mysql,entidad relacion en mysql,mysql workbench,como crear un diagrama entidad relacion en mysql workbench,der base de datos producion,como hacer generalizacion en workbench,modelo de datos en mysql workbench,son muy editor de esquemas entidad relacion?,modelo conceptual a workbench,diagrama entidad relación mysql,como relacionar tablas en mysql workbench,esquema mysql,script a DIAGRAMA workbench

Noticias relacionadas »

31 comentarios en Crear un esquema EER desde el gestor de base de datos MySQL Workbench

  1. DANIELA MACHADO
    / Responder

    como convierto DE DISEÑO CONCEPTUAL A LÓGICO Y FÍSICO

  2. DANIELA MACHADO
    / Responder

    HOLA.. como hago para convertir el diagrama entidad relación en el diseño lógico y físico porfavor nececito su ayuda

  3. DANIELA MACHADO
    / Responder

    HOLAAA.. COMO HAGO PARA CONVERTIR EL DIAGRAMA UNA VEZ REALIZADO EN EL DISEÑO FÍSICO Y LÓGICO PORFAVOR

  4. Mario Alejandro
    / Responder

    Buen dia. una duda.
    quiero agrandar el espacio de trabajo (al espacio donde creo las tablas).
    ¿Como lo hago?

    Gracias de antemano

    • claudio porchietto
      / Responder

      Me sumo a la pregunta

  5. Luis
    / Responder

    Tengo des habilitada la opción para grabar como imagen un diagrama EER, como lo puedo hacer para activar esta opción, utilizo la versión 1.1.1 bajo windows server 2008.

  6. malike
    / Responder

    Echa un vistazo a una herramienta gratuita – Valentina Studio. Producto asombroso! OMI es el mejor gestor de mysql, para todas las plataformas. http://www.valentina-db.com/en/valentina-studio-overview

  7. Diana Fernandez
    / Responder

    Se puede cambiar de un modelo físico a uno lógico?
    Cómo se hace?
    gracias.

  8. maguilu
    / Responder

    listo, ya tengo mi modelo EER y ahora como creo un esquema, como los relaciono? para poder acceder a esos datos desde netbeans?

  9. Montse
    / Responder

    Buenas!
    Soy nueva en esto de las bases de datos y ahora estoy haciendo un ejercicio en el que tengo que crear un esquema en WorkBench. Ya he creado las distintas tablas y ahora me toca establecer las relaciones. Mi duda es: que diferencia hay entre relaciones identificadas y las no-identificadas?

    Muchas gracias!

  10. wilder
    / Responder

    tengo una pregunta si alguien puede ayudarme. tengo una base de datos con una arquitectura ya realizada, me han enviado un model EER MODEL donde se realizaron unos cambios a la base de datos, necesito actualizar la base de datos que esta en funcionamiento actualmente con información, con la nueva estructura (esta nueva estructura realiza cambios en tablas y eliminación de algunas) si alguien tiene un manual o me puede guiar. correo wjg225@hotmail.com

  11. henrri
    / Responder

    como agrego mas paginas para hacer mas grande mi bd, ya que por defecto solo vienen dos hojas…

    • Pedro Ventura
      / Responder

      Dentro del diagrama > Opción “Model” > Diagram properties and size y aquí ya eliges el tamaño que quieres

      • Mario Alejandro
        / Responder

        Gracias me ayudaste mucho 😀 te ganaste tu Like 😀

  12. Gaston aguilera ramos
    / Responder

    muy bien pero como le aria para relacionar una base de datos msql maestro una solucion

  13. Henry
    / Responder

    Hola:
    Estoy haciendo ingenieria reversa a un BD MySQL, pero no logro obtener las relaciones en diagrama. Que debo configurar para que se vean las relaciones en el diagrama????
    Gracias.

    • Roberto
      / Responder

      Yo también estoy en la busque de hacer una Ingeniería Inversa , si alguien nos puede dar una información de ello, gracias.

  14. Juan Carlos Hernández
    / Responder

    Menos mal. Un tutorial decente por internet. Ha decir verdad lo explicas todo bastante bien.

    Yo estoy usando workbench sobre Ubuntu, y la verdad es que hasta ahora no me ha dado problema alguno. Además, lo he probado con windows, y por favor, he llegado hasta un punto en que no le he dado una patada al portátil por el simple echo de que lo necesito.

    Un saludo

    • Pedro Ventura
      / Responder

      Workbench también de daba muchos problemas en Windows, ya solo lo uso para jugar al Battlefield o demás, pero para trabajar en mi casa o en la oficina uso Linux.
      Me alegro de que te haya resultado interesante el artículo.

      Un saludo!

  15. puchy
    / Responder

    oooh yeah!!!!

  16. / Responder

    Si utilizo Windows xD no conocía el SQLYog voy a probarlo porque debe tener buena pinta, hace mucho que no actualizo el Workbench pero en las últimas versiones para Windows la verdad es que estaba mucho más estable pero aún así me sigue pareciendo demasiado para lo que lo uso. Gracias!

  17. Luis Ortiz
    / Responder

    Muy buen tutorial para los que comenzamos a incursionar en esto…. solamente tengo un par de problemas que he tenido con esto (es mas por falta de conocimientos, que errores del workbench)… Fijate que tengo una BD con varias tablas y las he manejado independientemente del ERR (de hecho, no sabia que existia, aunque lo tuviera en las narices)…. pues cuando vi tu tutorial cree un modelo ERR partiendo de la existencia de la BD… me exporto las tablas y parece que todo bien… el problema y la duda, es porque las tablas de la ERR son independientes de mi BD de la cual la cree ????… esto es porque le he ingresado datos y modificado una tabla y estos no se reflejan en mi modelo ERR…. como es eso ???’
    Te agradeceria si me pudieras contestar.

    • Pedro Ventura
      / Responder

      El mysqlworkbench te crea el esquema ERR, a partir de esto te saca toda la estructura de las tablas y las sqls que hay que ejecutar para volcar el esquema a una base de datos. Lo que te queda es sincronizarlo. Hay unas opciones en el menu principal dentro del diseño ERR, pero ahora no recuerdo y no tengo el programa en este pc por lo que no te puedo decir.
      Prueba a buscar las opciones para sincronizar con tu base de datos existente, si en unos días no consigues encontrarlo me dices y lo intento encontrar.
      Un saludo!!

      • Luis Ortiz
        / Responder

        Gracias Pedro por tu respuesta….. efectivamente, gracias a ti y a otras personas por la Web, he logrado entender un poco mas sobre esta herramienta, y espero seguir aprendiendo mas… talves si sabes de algun manual, libro o algo que pudiera leer y asi profundizar mas, te agradeceria me lo indicaras….

        En cuanto a la sincronización, te digo que se hace desde el modelo y es con las teclas “Ctrl-Shift-Z”… lo malo, es que solamente de sincroniza la estructura de tu BD, no asi la data, que es en lo que ahora estoy peleando….

        De nuevo muchas gracias y seguiré tu blog mas asiduamente.

  18. Javier Rodriguez
    / Responder

    Excelente herramienta antes de llamaba DB desing 4, la version SE te permite ingenieria inversa, pudiendo verla la entidad relacion de una base datos ya existente…

  19. Michel
    / Responder

    Acabo de descubrir este excelente programa y estoy empezando a usarlo para pequeños modelos. Lo estoy usando en WinXP y, hasta ahora, no me ha dado ningún error.
    Tu artículo está muy bueno y me ha ayudado mucho, pero quisiera saber cómo puedo hacer un esquema con superclases y subclases, porque en ERWIN sí puedo hacerlo, pero en WB no.
    Por otro lado, para hacer consultas he probado muchos programas pero no hay ninguno que supere a SQL Maestro.

  20. Luiggi
    / Responder

    Buenas tardes, llevo buen rato en el foro, saber si hay alguna forma de hacer un diagrama entidad relacion y luego llevarlo a una base de datos, si es que hay alguna forma, por favor diganmela.

  21. / Responder

    Es para lo único que utilizo el MySQL Workbench porque me parece demasiado complicado y lleno de errores si lo comparo con sus antecesores las MySQL GUI Tools Bundle, las cuales sigo utilizando porque salvo crear diagramas de entidad relación no me vale para más nada este invento del Workbench.

    • Pedro Ventura
      / Responder

      no se que SO estarás usando. Pero es cierto que Worbench da muchos errores cuando estoy trabajando en Windows, pero sobre Linux (uso Fedora) es bastante más estable y pocas veces me da fallos.

      Pero bueno, para realizar queries, y gestionar el contenido de las tablas no uso workbench, uso uno que se llama SQLYog, que es muy bueno y super rápido. Este lo uso en Windows y en Linux lo tengo virtualizado

      • / Responder

        No había utilizado nunca el SQLYog ¡es genial! muchas gracias por este descubrimiento, estoy testando el MONyog también y es bastante potente.

        Y sobre el Worbench lo sigo usando solo para los EER (aunque reconozco que ha mejorado ene stabilidad) y si, trabajo sobre Windows mayormente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

10$ gratis con Digital Ocean »

Este blog está funcionando con Digital Ocean,
para todos los lectores 10$ gratis! para probar el cloud a través del siguiente enlace.


Ir a Digital Ocean

¡Comparte este artículo! »

Sígueme en Facebook »

  • Pedro Ventura (2 semanas)
    Solucionado! Por favor actualizar a la última versión 1.3.3
  • Pedro Ventura (2 semanas)
    Gracias por reportar el caso goyud! Lo investigaré asap
  • goyud (2 semanas)
    creo que tiene un gran problema su modulo de cookies…
  • Juan (4 semanas)
    Amigos estoy buscando lo mismo y está un poco dispendioso.…
  • DANIELA MACHADO (1 mes)
    como convierto DE DISEÑO CONCEPTUAL A LÓGICO Y FÍSICO
  • DANIELA MACHADO (1 mes)
    HOLA.. como hago para convertir el diagrama entidad relación en…

Suscríbete al newsletter »

Proporciona tu correo electrónico a continuación y recibe las últimas noticias! Funciona con Feedburner de Google

Archivo »

Leer entrada anterior
Vendedores de humo, y una reflexión más de porque estan infravalorados los freelance

Hace unos cuantos meses vi por Madrid el siguiente cartel, que me quemó bastante. Yo no soy freelance, el único...

Cerrar