April 13th, 2007Instalación de DBDesigner con MySQL en [X]Ubuntu
1. Introducción
En un tutorial anterior explicamos la manera de crear un servidor Apache con PHP y MySQL. Ahora nos toca instalar una herramienta para el diseño de las bases de datos. Si nunca has usado una y manejas bases de datos, te recomiendo leer este tutorial. La aplicación que vamos a instalar se llama DBDesigner, y la instalaremos bajo [X]Ubuntu. Es una herramienta de fácil uso y de una interfaz muy intuitiva. Aquí os dejo un ejemplo de una captura:

El ejemplo es de un ejercicio que tenía que hacer en la universidad. ¿A qué queda bonito?
Con este programa podemos crear tablas y relaciones entre ellas. El propio programa crea nuevas tablas en caso de necesitarlas, como es en el caso de las relaciones N:M. Podemos decir cuales campos son PRIMARY KEY, FOREIGN KEY, decir cuales son los tipos de datos de cada campo, etc… . Además, podremos conectar el programas a nuestra base de datos MySQL y sincronizar el programa y la base de datos. También podremos hacer ingeniería inversa, es decir, el programa recoge las tablas de nuestra base de datos y nos diseña el modelo automáticamente. El programa también es capaz de conectarse a bases de datos de Oracle, SQLite y ODBC.
2. Instalación
Espero que te haya animado a seguir leyendo, pues ahora empezamos con la instalación en [X]Ubuntu. Hay que decir que es una instalación algo larga, así que vamos a abrir una consola y crear una carpeta donde descarguemos todos los archivos y hagamos todas las operaciones:
cd ~
mkdir tmp-dbd
cd tmp-dbd
Vamos a empezar descargando todo lo necesario para no tener que volver a abrir el navegador. Tendremos que bajarnos cuatro cosas: el programa DBDesigner, librerías de xlibs, librerías de Kylix y el driver para usar MySQL. Todos los archivos los guardamos en la carpeta que habíamos creado (~/tmp-dbd/):
- El programa: DBDesigner (en el apartado DBDesigner 4 Distributions de la página, ,cogemos el archivo que termina en .rpm de Linux).
- Las librerías xkeyboard-config: http://ubuntu.interlegis.gov.br/ubuntu/pool/main/x/xkeyboard-config/xkeyboard-config_1.1~cvs.20080104.1-1ubuntu6_all.deb
- Las xlibs: http://www.silcom.com.pe/soft/xlibs_6.8.2-77_all.deb
- Las librerías de Kylix: http://heanet.dl.sourceforge.net/sourceforge/kylixlibs/kylixlibs3-borqt_3.0-1_i386.deb
- Driver MySQL: http://crlab.com/dbx/dbxmda.tar.gz
Una vez que tenemos los cuatro archivos en la carpeta ~/tmp-dbd/ empezaremos con la instalación.
2.1. Instalación de xkeyboard-config
sudo aptitude reinstall xkb-data
sudo dpkg -i xkeyboard*.deb
2.2. Instalación de las xlibs
sudo dpkg -i xlibs_*.deb
2.3. Instalación de las librerías de Kylix
sudo dpkg -i kylixlibs3-borqt_*.deb
sudo ln -s /usr/lib/kylix3/libborqt-6.9-qt2.3.so
sudo ldconfig
sudo ln -s /usr/lib/kylix3/libborqt-6.9.0-qt2.3.so /lib/libborqt-6.9-qt2.3.so
2.4. Instalación del programa DBDesigner
sudo aptitude install alien
sudo alien DBDesigner*
sudo rm DBDesigner*.rpm
sudo dpkg -i dbdesigner*
2.5. Instalación del driver para MySQL
sudo tar -zxvf dbxmda.tar.gz
sudo mv DbxMda/libsqlmda.so.3.20 /usr/lib
sudo ldconfig
Con esto hemos instalado los cuatro archivos que nos habíamos bajado. Como apunte opcional, diré que la instrucción dpkg -i sirve para instalar un archivo .deb; que ln -s sirve para crear un enlace hacia un archivo, como si fuera un acceso directo; aptitude sirve para instalar programas que tenemos en los repositorios; alien sirve para convertir un archivo de instalación de Red Hat (rpm) a un archivo de instalación de Debian (deb); y que ldconfig sirve para actualizar las librerías de la dirección /usr/lib/ y /lib/. A veces es mejor comprenderlo, que hacerlo y no saber por qué.
3. Configuración
Bueno, ya tenemos todo listo. Tenemos el programa y todo configurado. Ahora solo nos falta abrir el programa y empezar a usarlo. El programa se encuentra en la dirección /opt/DBDesigner4/DBDesigner4 (en el caso de habernos bajado esa versión 4). Así que podemos crear un enlace en el escritorio con esa dirección o ejecutarlo desde la consola directamente.
Ahora necesitamos saber como conectarnos a la base de datos MySQL desde nuestro programa. Para ello, una vez abierto, creamos un nuevo documento (File -> New) y después pulsamos sobre el menú (Database -> Connect to Database):

Una vez en ese menú, creamos una nueva conexión pulsando New Database Connection.

Ahora nos saldrá una ventana para configurar la nueva conexión MySQL. Os pongo unas capturas para que lo dejéis exactamente igual (menos el hostname, el username, el password y la database que serán vuestros datos de la conexión). Hay que prestar atención a la pestaña Advanced, porque son los datos que sirven para conectar con el driver de MySQL.

En la siguiente captura lo dejáis casi igual, excepto en LibraryName y VendorLib, que deberéis poner: libsqlmda.so.3.20 (no actualizo la imagen porque cada dos por tres actualizan el driver).

NOTA IMPORTANTE: Fijaos bien en que esta configuración está tal y como se ve aquí, incluyendo las mayúsculas y las minúsculas. A veces al instalar el programa por primera vez, nos pone “MYSQL” todo en mayúsculas, en lugar de “MySQL” como debe ser. Esto provocará que no funcione la conexión con la base de datos.
Ahora sí que sí. Ya tenemos todo preparado. Cada vez que queramos conectar con nuestra base de datos MySQL elegiremos de la lista de All Database Conections nuestra conexión, pondremos el password y pulsaremos el botón Connect. Y listo.
4. Ingeniería inversa
Ahora que he terminado de explicar como instalar y configurar DBDesigner con MySQL en [X]Ubuntu… no me podía ir sin explicar como hacer ingeniería inversa y como subir nuestro diseño a la base de datos MySQL.
4.1. Como hacer ingeniería inversa (de las tablas al diseño)
Si ya teníamos creadas nuestras tablas en la base de datos y ahora queremos tener el diseño, lo único que tenemos que hacer es crear un nuevo documento (File -> New), y después pulsar sobre el menú (Database -> Reverse Engineering).
Ahora nos pedirá que elijamos una de las conexiones MySQL que creamos anteriormente, y la conectamos pulsando Connect.
En la siguiente ventana, nos saldrá una lista de tablas. Elegiremos de las que querramos tener el diseño y pulsaremos el botón Execute. Y… sorpresa! Ya tienes un diseño de tu base de datos!
4.2. Como subir nuestro diseño a la base de datos
Una vez que tengamos un diseño con sus tablas, sus interrelaciones y demás y querramos pasar del diseño a las tablas, pulsaremos el menú (Database -> Database Synchronisation).
Ahora nos pedirá que elijamos una de las conexiones MySQL que creamos anteriormente, y la conectamos pulsando Connect (que fácil es copiar y pegar).
Y en la nueva ventana que nos sale, pulsaremos el botón Execute. Con esto, hemos subido las tablas de nuestro diseño a la base de datos.
Como siempre, espero que os haya servido de ayuda. Os dejo, que tendréis muchas cosas que programar :P .
