Mostrando entradas con la etiqueta DDL. Mostrar todas las entradas
Mostrando entradas con la etiqueta DDL. Mostrar todas las entradas

sábado, 12 de enero de 2013

Generador de datos: GenerateData.com



Muchas veces disponemos de un script donde se describe un lenguaje de definición de datos (DDL) o lo que es lo mismo, tenemos las tablas de datos y sus relaciones. Al creamos nuestra base de datos de prueba tenemos un problema, nos gustaría  disponer de unos datos para ir probando con unas consultas SQL.





Ahora bien, no disponemos de unos datos de prueba ya que es una base de datos que la estamos creando por primera vez. La tarea de ponerse a meter datos es algo de locos. Incluso aunque lo hagamos no podremos meter una cantidad importante de datos ya que nos llevará un buen tiempo, desde luego no es una tarea divertida. Para ello os quiero hablar sobre un generador de datos online generatedata.com con el cuál nos resultará mas cómodo de hacer nuestra batería de datos de prueba.





Generatedata.com es Open Source y esta desarrollado en JavaScript, PHP y MySQL. Nos da la posibilidad de generar un gran volumen de datos y con una diversa variedad de formatos (SQL,CSV,XML,HTML y Excel).

En mi prueba me he generado unos datos de una tabla CLIENTE que tiene los campos:

nombre, 
apellido1,
apellido2, 
ciudad, 
edad, 
telefono, 
fecha_nacimiento, 
sexo.




Ahora tengo que seleccionar  el Database para que me genere el script ya que el formato de salida es SQL y que sea o bien para Oracle o MySQL, además del nombre de la tabla que es CLIENTE. 



En la parte de arriba nos deja especificar el número de filas que queremos de datos, en mi caso he puesto 500 filas. Para terminar le doy a generar y nos genera los datos para nuestras pruebas.



Espero que os pueda servir de ayuda este generador de datos. Hay algunos generadores de datos en castellano que en otra ocasión hablare de ellos, pero este es bastante bueno os recomiendo que lo probéis.

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.