sábado, 5 de enero de 2013

Oracle SQL Developer Data Modeler (3.1.4.710)




Vamos a usar esta herramienta de diseño de modelos de datos y después a crear un modelo de datos relacional que llamaremos "prueba".

Paso 1: Para ello es conveniente tener instalado un JDK de Java aunque con un JRE podría ser suficiente, de hecho creo que el JRE lo incluye al descargar el "Oracle SQL Data Modeler" (132 MB).




Paso 2: Cuando se complete la descarga lo descomprimimos en una carpeta y buscamos el ejecutable (datamodeler.exe) para poder empezar a crear nuestro modelo de datos de prueba para ello hacemos doble click en dicho ejecutable. 


Un vez que ha cargado el "Data Modeler" vamos a proceder a crear un modelo de datos relacional.



Como soy un amante de la música he encontrado por internet un modelo lógico para una base de datos con grupos de música por géneros y que almacenará los componentes de cada grupo.




Paso 3: Vamos a crear el modelo de datos relacional a partir del lógico que tenemos de ejemplo, se puede ver que la relación de las entidades: "genero", "grupo" y "musico" son N..M, por eso se crean dos entidades más que llamaremos "generosgrupos" y "musicosgrupos", las cuales se forman con las claves principales que migran de las otras tablas.

-Un músico puede tocar en varios grupos y un grupo tiene varios músicos (N..M).

-Un género abarca a varios grupos y un grupo puede pertenecer a varios géneros (N..M).

Tras este breve análisis vamos al lío, como vemos en la parte que se llama "Explorador" en el árbol se puede ver un apartado que pone "Modelos relacionales", pues bien nos vamos a crear uno nuevo que se llame "prueba" pulsando con el botón derecho del ratón. Para cambiar el nombre pulsamos otra vez con el botón derecho, después vamos a propiedades para cambiar el nombre y luego aplicamos los cambios. La cosa tiene que quedar tal que así:



Paso 4: Ahora lo haremos será crear las tablas/entidades que son: 
-genero
-grupo
-generosgrupos
-musico
-musicosgrupos

Debemos de crear una nueva tabla que llamaremos "genero" 




que consta de dos atributos:

-idgenero Integer
-descripcion VARCHAR(45)



Esto lo iremos repitiendo con cada una da las entidades del modelo lógico que tenemos como ejemplo.

Paso 5: Una vez que tenemos creadas cada una de las entidades/tablas vamos a crear las claves primarias.



Las claves primarias (PK) son:

-idgenero
-idgrupo
-idmusico

Para marcar dichos atributos como claves primarias tendremos que ir a las propiedades de la tabla con el botón derecho del ratón encima de ella y en la sección clave primaria la marcaremos como tal.



Repetido el proceso con todas las tablas nos tiene que quedar así.



Paso 6: Para terminar tendremos que realizar las relaciones entre las tablas/entidades por sus claves, dichas relaciones como se comentó en los pasos anteriores son N..M. Para hacer las relaciones entre tablas debemos hacer lo siguiente, en la parte de arriba en la barra de herramientas seleccionamos "Nueva relación de clave ajena".



Por ejemplo, en mi caso quiero relacionar la clave "idgenero" de la tabla "genero" y la tabla "generosgrupos" para hacer eso y tras pulsar el botón que mencioné antes selecciono una y otra tabla y se abre una ventana como esta.


Paso 7: El modelo una vez terminado quedará de esta manera y podrá ser exportado y podremos generar un esquema DLL.



Paso 8: Como último paso se puede generar el DDL como he comentado en la zona de botones existe uno con el nombre "Generar DLL" y el cual nos abre una ventana nueva. En dicha ventana podemos seleccionar nuestro modelo relacional y generar el script para posteriormente   crear una base de datos.



Bueno pues con esto concluye este breve tutorial de como crear un modelo de datos relacional a partir de un modelo lógico y así poder generar un DLL para crear una base de datos con dicho script.


4 comentarios:

  1. Me ha gustado el contenido, no sabía que tuvieras blog,seguiré leyendo más entradas.¡Felices reyes!

    ResponderEliminar
  2. Y si quisiera ver el modelo de una base de datos que ya esta creada?

    ResponderEliminar
  3. ¿El modelo de la BD la has creado con el Data Modeler? Imagino que te refieres a una ingeniería inversa de la BD, a partir de la BD ver el modelo de datos.

    ResponderEliminar