Weblog de Victor Ramirez

domingo, septiembre 7, 2008

Usando MySQL Workbench para diseñar y crear una base de datos

Filed under: mysql, tutorial — Etiquetas: , , , — vramirez @ 8:15 PM
La compra de MySQL AB por parte de Sun Microsystems a comienzos de este año, es sin lugar a dudas un reconocimiento al buen trabajo hecho por la comunidad de MySQL, para llevar a esta base de datos a ser una de las mejores bases de datos open source que se encuentre en el mercado, y que hoy por hoy es la base de datos predilecta por los desarrolladores, e incluso grandes empresas como Suzuki, Sagem, o la misma Adobe o sitios como Yahoo! Finance, para bases de datos transaccionales o bodegas de datos (Data Warehousing).MySQL provee entre sus herramientas, una denominada MySQL Workbench la cual nos permite desde una ambiente gráfico, diseñar un modelo E-R de una base de datos y luego crear la base de datos, como tal en una base de datos MySQL. Para este tutorial es necesario tener instalado:

NOTA: En esta demo, solo se mostrará el funcionamiento de MySQL Workbench, mas no la instalación de éste ni la de MySQL Server. El servidor mysql puede estar instalado en cualquier equipo y/o sistema operativo soportado (Windows, Linux, Aix, etc). MySQL Workbench solo se encuentra disponible para Windows.

En el ejemplo crearemos una base de datos muy sencilla, la cual no representa un ejemplo real. Simplemente es para probar las características.
Primero creemos el esquema «test», haciendo click en el símbolo «+». Abajo se abre una pestaña en que nos pregunta el nombre del esquema (test) y el idioma del esquema, el cual se recomienda dejar por default como se muestra en la figura. Si la aplicación pregunta si desean renombrar todos los objetos, seleccionen «Si».

Ya creado el esquema, procedemos a crear las tablas. Existen dos formas, aunque muy similares de crearlas. La primera es desde la pantalla en la que estamos, la otra es mediante la ventana visual, en la cual podremos además, realizar las relaciones entre las tablas. Pero primero lo primero; las tablas.
Verifica que estes en el esquema «test» y luego haz doble click en el icono de «Add Table».

Al hacer click en esta opción, se despliega al lado un icono representando la nueva tabla, mientras que debajo se abre una nueva pestaña, en la cual podemos editar todo al respecto de las tablas haciendo (Columnas, llaves, triggers, etc) click en cada una de las pestañas ubicadas en la parte inferior de esta nueva pestaña.
Nota: los triggers solo estan disponibles a partir de MySQL 5. Cualquier tabla con triggers generada en Workbench arrojará un error cuando se corra en una versión inferior a MySQL 5.0
Agregaremos un par de columnas a la tabla:

Al hacer click en la pestaña «Columns», podemos editar todas las columnas dela tabla indicada. Podemos alterar el nombre, el tipo de dato, si es nulo o no (NN) y si es Auto incremental (AI), obviamente este último es sólo para datos de tipo numérico, De igual forma podemos especificar un valor por default para la columna. En la parte derecha, inmediatamente podemos indicar si la columna seleccionada hace parte de la llave primaria (PRIMARY KEY), si es UNSIGNED o ZEROFILL para las variables numéricas y si la variable es de tipo caracter, podemos especificar si es BINARY.

Ahora pasemos a crear una tabla por medio de un diagrama E-R. En la parte superior observamos la opción «Add Diagram». Hacemos doble click sobre ella.

Luego se abre una nueva pestaña en la cual encontramos un grid. A la izquierda, ecnontramos una barra de herramientas, desde la cual podremos crear tablas y vistas, además de relaciones (1:1,1:n,n:m…) y a la derecha un árbol con los objetos de nuestro esquema (tablas, vistas, etc). De esa ventana, seleccionamos la tabla que creamos y la arrastramos hasta el grid. Luego hacemos click derecho y seleccionamos «Edit table», abajo nos muestra la pestaña para editar la tabla y crear columnas, llaves, etc.

Buscamos a la izquierda el ícono que nos permite crear una nueva tabla. Hacemos un click en el ícono y luego un click en el grid.

Editamos las segunda tabla y ahora haremos una relación muchos a uno.Seleccionamos el icono, y luego cada una de las tablas (primero la de muchos y luego la de uno). En mi caso, la tabla de «muchos» es table1. Quedaría algo asi:

Como ven el Workbench se apega a la teoría relacional, donde en este caso la llave de a relación «uno» pasa a la tabla de «muchos». Igualmente si creamos una relacion M.N (muchos a muchos) generará una relación entre las dos tablas. A continuación viene la mejor parte de esta herramienta: la generación del script SQL.

Como ven, podemos exportar el diseño, incluso como una imagen en pdf, o en png, entre otros. La primera pantalla, nos muestra las opciones con las que queremos que se genere el script DDL. Luego seleccionamos la ubicacion destino del archivo que se creará.

Luego nos muestra un resumen de lo que creará; usuarios, tablas, vistas, rutinas y triggers. Incluso si seleccionamos el botón «Detailed Selection» de cada sección, podemos especificar aún más, por ejemplo, qué tablas deseo realmente exportar.

Luego finalizar, y en la ruta que le hallamos indicado estará un archivo .sql, con nuestro script. Como se podrán dar cuenta Workbench, resuelve algunas limitantes en la comunidad open source de un buen software front-end para MySQL, y sobre todo de una herramienta que provea Forward Engineering, de una manera tan sencilla y bien ilustrada. Digamos que la única limitante de Worlbench es su ausencia en otras plataformas, o sea, en Linux :p.

Blog de WordPress.com.