Relacion n:m en Workbench

Diseño De Un Modelo Fisico en Mysql

Encuentra en el sitio

El Diseño De Un Modelo Fisico en Mysql y en cualquier otra Base de datos es una parte vital de cualquier proyecto, por medio de este modelo nos guiamos al momento de realizar las consultas, saber de que llaves foraneas provienen las llaves primarias, que tipos de datos se almacenan en cada campo, entre otras cosas 😉 Para tal fin usare la herramienta que proviene Mysql para este y otras tareas no menos importantes, la herramienta en cuestion se llama Mysql Workbench.

[important]Las imagenes se ven pequeñas? Clickea sobre ellas para agrandarlas, puedes moverte con ellas con las flechas de dirección (-> y <-) 😉 [/important]

mysql workbench

 

Antes de empezar, si no tienes instalado el Mysql Workbench descargalo en esta pagina, selecciona tu Sistema Operativo y Descargalo 😉 Una vez descargado e instalado haremos los siguiente pasos para crear el modelo fisico, configurar el nombre de la base de datos y generar el script del ddl, Manos a la Obra!

CREAR MODELO FISICO

1. Una vez instalada la herramienta la abrimos y seleccionamos la opcion de “Create New EER Model“:

Create new EER Model Workbench

2. En el editor nos mostrara una nueva pestaña, en la cual debemos de configurar el nombre de la base de datos, esto lo hacemos dando doble click:

Nombre DB Mysql

3. Veremos una casilla donde podremos cambiar el nombre, tambien un cadro de seleccion donde podremos configurar en que tipo de caracteres se almacenan los datos, esto ultimo es una parte importante ya que nos aseguramos que los caracteres especiales (ñ, Ñ, ó, Ó, etc) y simbolos (|, °, $, &, etc) se muestren correctamente y asi evitar errores, una vez cambiemos estos datos confirmamos y por ultimo creamos nuestro modelo fisico seleccionando Add Diagram:

Configuraciones iniciales Workbench

4. Encontramos tres grupos importantes al momento de crear el modelo, Edicion (Seleccionar, Mover y Borrar), Creacion de una tabla y el tipo de relaciones (1:1, 1:n, 1:1; 1:m y n:m), en este punto, las dos primeras son relaciones flexibles, las dos siguiente relaciones fuertes y la ultima relacion de varios a varios.

herramientas workbench

5. Cuando creas una tabla te aparecera con un nombre de tipo “Table#”, para cambiar el nombre e ingresar los campos le damos doble click, alli encontraremos el campo para cambiar el nombre a la tabla, un formulario para ingresar el nombre de los campos de la tabla y tipo de datos, y por ultimo la propiedad del campo, en general cada tabla debe de tener una PK(Primary Key->Llave Primaria), el NN (Not null->Obligatorio) es opcional. Quieres saber mas de esto mira el siguiente link :

Datos tabla en Mysql

6. Seguidamente he creado otra tabla, la cual la llame ventas, siguiendo la logica de relacion, una venta puede tener un solo cliente, y un cliente puede tener muchas ventas, esta relacion se denomina de 1 a varias ó 1:n, para esto seleccionamos la relacion, luego vamos de la tabla que deseemos jalar la llave primaria y luego a la tabla que contiene la llave primaria:

Relacion 1:n en Workbench

7. Bueno, ya tenemos idea que nuestro modelo esta orientado a un negocio, ahora bien, una venta puede tener varios articulos y varios articulos pueden estar en una venta, por lo que tenemos una relacion n:m, Primero seleccionamos la relacion, luego seleccionamos las tablas que llevaran esta relacion, no he puesto flecha ya que no importa a quien le seleccionemos de primero, la tabla que se genera para sobrellevar esta relacion jalara la PK de cada tabla seleccionada, quedando de la siguiente forma:

Relacion n:m en Workbench

Hasta este punto ya esta diseñado un modelo fisico, de aqui podremos guiarnos al momento de realizar la programacion para el manejo de datos, pero algo mas importante, podremos crear el script ddl para crear la base de datos, pero algo mas interesante que lo anterior, podremos crear la base de datos directamente con MySQL Workbench 🙂 Para esto les dare el siguiente bonus 😉

GENERAR SCRIPT DLL Y CREAR LA BASE DE DATOS

1. Teniendo seguridad de nuestro modelos haremos lo siguiente para generar el ddl y de paso crear nuestra base de datos, recordemos que el nombre de esta es el nombre que configuramos en el punto 3 de los pasos anteriores:

Generar script ddl en mysql

2. Nos pediran los datos para conectarnos a la base de datos y realizar la operacion, por defecto MySQL nos brinda el usario root, el cual no tiene contraseña, en mi caso ya cuento con otro usuario con determinados premisos, recuerda que nos pedira la contraseña del usuario si este la tiene:

conexion mysql workbench

3. Seleccionamos las opciones pertinentes para crear la Base de datos, en mi caso la primera opcion elimina los objetos creados con anterioridad (tablas), la segunda opcion marcada elimina el esquema si se ha creado con anterioridad, en este punto nos pedira nuevamente la clave del usuario del punto 2:

configuracion script ddl mysql

4. Continuamos con el proceso:

Confirmacion objetos creados mysql

5. A continuacion veremos un mensaje de confirmacion de lo que se ha hecho, en resumen conexion a la base de datos y ejecucion de sentencias (Creacion de las tablas y el esquema):

sentencias realizadas en mysql

6. Si regresamos al inicio de la herramienta, podremos conectarnos con nuestro usuario y ver graficamente los esquemas (Bases de Datos) que existen en MySQL, primero nos conectamos:

Conectar con MySQL Workbench

7. Una vez conectados nos interesa dos partes, el navegador de objetos donde podremos ver nuestro esquema ya creado con sus respectivas tablas y un campo donde podremos realizar las sentencias y consultas que deseemos en nuestro esquema seleccionado, se sabe que un esquema esta seleccionado cuando este esta en negrilla:

Esquemas en Workbench

Como se ha visto el diseño es algo rapido con esta herramienta, es algo mas directo en comparacion de la herramienta que provee oracle para su SGBD Oracle 😉

Si te ha gustado el post, compártelo, regala un like ó comenta 😉

Etiquetas: , ,
  1. Avatar for belial9826 bb dice:

    esto es modelo logico o modelo relacional

  2. Avatar for belial9826 andru dice:

    Recomendar buscando una herramienta gratuita Valentina Studio. Creo que es mejor herramienta gratuita para mysql http://www.valentina-db.com/en/valentina-studio-overview

    1. Avatar for belial9826 belial9826 dice:

      Gracias andru por tu recomendación 🙂 Saludos !

  3. Avatar for belial9826 Jose Antonio Hernandez dice:

    Recién he descubierto tu pagina, la estoy chocando; pero por lo que he visto me parece que ha de estar genial, muchas gracias…

Deja un comentario