You are on page 1of 17

CREANDO UNA BASE DE DATOS CON AYUDA DE ER/STUDIO

DB2 Express C Users Group Nea UTN FRRe : es un grupo formado por estudiantes la carrera de Ingeniera en Sistemas de la Universidad Tecnolgica Nacional Facultad Regional Resistencia, cuyos objetivos son la de fomentar y promover el aprendizaje de distintas herramientas relacionadas con las bases de datos, mas precisamente de la DB2 Express C, para que los alumnos puedan conocer y aprovechar al mximo el potencial de esta tecnologa. La presente publicacin de este tutorial reflejan la opinin del autor y no necesariamente coincide con las del grupo .Todos los nombres, logos y servicios identificados en este tutorial son marcas registradas de sus respectivas compaas .El uso del nombre de alguna marca no tiene propsito de transmisin de endoso u otra afiliacin con este tutorial. El grupo no asume responsabilidad alguna por cualquier consecuencia derivada de la fabricacin ,funcionamiento y/o utilizacin de los productos o servicios que se describen ,analizan o publican, como tampoco cualquier violacin de patentes y/o derechos de terceras partes que pudieran incurrir, estando este tutorial destinado meramente a fines educativos. El material se provee tal cual sin ningn tipo de garanta, implcita o explicita, en lo concerniente a fidelidad, validez o exactitud de la informacin o resultados obtenidos por el uso de dicha informacin o material. DB2 Express C Users Group UTN FRRe 2006 Coordinador del grupo Mario Alberto Piz

CREANDO UNA BASE DE DATOS CON AYUDA DE ER/STUDIO


Autor :Ricardo Gonzalo Hess Revision: Mario Alberto Piz Oscar Francisco Brites

Cuando se esta en un proyecto de bases de datos el primer gran paso que se debe completar es el de alcanzar un modelo lgico estable, es decir un MER con el menor nmero posible de fallas para luego derivarlo en un modelo fisico implementado en un gestor de bases de datos. El tutorial consistira en Modelar una tabla de clientes mediante ER/Studio y crear la base de datos en DB2. Programas necesarios para Realizar este tutorial DB2 Express C (Preferentemente la version 9) Embarcadero ER/Studio (6.5 o superior) Primero Abrimos el ER/Studio y creamos un nuevo modelo de datos

Vamos al menu InsertarNueva Entidad y creamos una entidad que la vamos a llamar Clientes, donde vamos a guardar algunos datos de clientes

Si hacemos click derecho y editamos la entidad deberia quedar de esta forma, vamos a poner Id_Cliente como campo clave tildando el casillero Agregar a Clave Primaria por eso el campo no admite nulos. Hay que tener mucho cuidado que campos admiten nulos y cuales porque nos puede afectar al momento de realizar la carga de los datos. En este caso decidi poner la fecha de nacimiento del cliente como anulable puesto que el cliente puede no ser una persona y al ser una empresa no tiene fecha de nacimiento (podra tener fecha de inicio de actividad, pero no va al caso)

Como vern tambin se incluyo un campo Foto_Cliente, en este tutorial no lo vamos a cargar todava, eso lo vamos a dejar para otro tutorial mas adelante... Como ya tenemos el modelo lgico listo, debemos generar el modelo fsico, hay que recordar que el modelo lgico es independiente de la plataforma en la cual se implemente, por lo tanto para generar el modelo fsico tendremos que centrarnos en un motor especifico de bases de datos, en este caso lo vamos a hacer para DB2. Hacemos click derecho sobre el modelo logico que creamos y luego en Generar modelo Fsico (el modelo lgico al que me refiero, es el que esta en el parte izquierda en donde se observa todo el proyecto, tanto entidades como atributos, claves, etc.; creados con el ER/Studio).

Luego de hacer eso nos va a aparecer una ventana como la siguiente, en la cual tenemos que darle un nombre al modelo fsico que estamos creando, debemos hacer esto porque para un solo modelo lgico puede haber varios modelos fsicos en distintos gestores, es decir una relacion 1 a N ... :-P

En este caso elegimos como nombre del modelo FisicoClientes, y vamos a generar el modelo fsico para IBM DB2 UDB 8.x porque es lo ms cercano que tenemos al da de la fecha para generar con ER/Studio. Hasta la version 7 de ER/Studio no soporta DB2 9, lo unico que perdemos con esto es el soporte XML que la versin 8 no tiene. Hacemos click en siguiente y en la pantalla siguiente elegimos para que tablas generar el modelo fisico, en este caso vamos a seleccionar la tabla clientes que es la nica que tenemos. Si hacemos click en siguiente tenemos ms opciones que se pueden configurar pero que en este caso vamos a dejar por defecto haciendo click en Finalizar.

Una vez que hacemos click en Acpetar podemos ver cmo quedo el modelo fsico de nuestra base de datos, en este modelo las entidades del modelo lgico pasan a llamarse tablas

Si hacemos click derecho en la tabla Clientes y la comparamos con lo que fue en el modelo lgico nos saltan algunas diferencias en los tipos de datos, en el caso de MontoAdeuda_Cliente que antes era de formato MONEY, ahora es DECIMAL y en el caso de la Foto_Cliente antes era picture y ahora es BLOB.

Otra de las ventajas de tener un modelo de bases de datos bi-nivel en ER/studio es que no necesariamente se tienen que corresponder los nombre definidos en el modelo logico con los nombres del modelo fisico. El modelo lgico nos sirve para modelar el escenario/problema que tengamos, pero una vez que pasamos al fsico tendremos los nombres de los campos y de las tablas con las que vamos a trabajar cuando escribamos las sentencias SQL, entonces no es cmodo tener columnas como FechaUltimoPagoIvaCreditoFiscal_ClienteMoroso, deberamos tener algo mas corto. Lo que vamos a hacer ahora es quitarle los sufijos _Cliente a nuestra tabla de Clientes modificando el campo Nombre de columna, luego de hacer clik en Editar Tabla. Para que que nos quede as...(si bien estamos haciendo esto en el modelo fsico, podramos haberlos hecho ya en el modelo lgico, cuando escribimos en el formulario de carga de los atributos de la entidad podemos definir el nombre de columna que tendr el modelo fsico).

Ahora que tenemos la tabla lista para crearla en el gestor, debemos hacer click en el modelo fsico (de nuevo nos referimos a la parte izquierda donde se observa todo los creado para este proyecto), luego en el men que se despliega hacemos click en Generar Base de Datos. Entonces aparece la siguiente ventana

Ahora se nos presenta la alternativa de crear las tablas mediante un script o mediante una conexion odbc. Es importante saber que ER/Studio NO crea la base de datos, solo crea las tablas, es decir en cualquier caso que elijamos si queremos una nueva base de datos la vamos a tener que crear en DB2, ya sea mediante asistente o mediante el comando create database. Al final del turorial hay un apndice donde se explica como crear una base de datos utilizando el asistente. En este caso vamos a crear las tablas en la base de datos SAMPLE que se puede instalar con el DB2 EC 9. ALTERNATIVA NUMERO 1: CREAR TABLAS UTILIZANDO CONEXION ODBC Primero vamos a crear la tabla utilizando una conexin ODBC. Para esto, observando en la Figura anterior, debemos seleccionar la opcin Generar Objetos con Conexin a Base de Datos y clickear en el botn Conectar, luego aparece la siguiente ventana...

En esta ventana debemos seleccionar el origen de datos ODBC, el cual es nuetra base de datos CLIENTES, en el caso de no encontrarla, debemos agregarla haciendo click en Setup/Configurar. Luego nos aparece una ventana donde figuran todos los orgenes de datos de usuario configurados, como nuestro origen de datos no esta tenemos que hacer click en Agregar...

Ahora nos lleva a la ventana donde se elige el controlador, vamos a elegir IBM DB2 ODBC DRIVER DB2COPY1 y hacemos click en Finalizar.

Entonces se despliega una ventana donde tenemos que elegir la base de datos que queremos de origen de datos, en este caso elegimos CLIENTES y le ponemos un nombre, para identificarla en caso de que haya varios origenes de datos Clientes en DB2

Una vez que aceptamos volvemos a donde comenzamos, aceptamos de nuevo y podemos usar nuestro nuevo origen de datos en ER/Studio. Lo ultimo que falta es poner la usuario/contrasea de algun usuario con privilegios (como db2admin).

Al hacer click en OK, volvemos a la ventana del asistente de generacin, le damos siguiente y nos muestra las tablas que va a crear y alguna opciones que se pueden configurar, opciones de clave primaria, de columnas de generacin, etc. Entonces hacemos click en Finalizar para que nos genere las tablas en nuestra base de datos. Si nos aparece el siguiente cartel... todo bien

Solo resta entrar al centro de control para ver si se creo la tabla en la base de datos correctamente. Cabe aclarar que si tenemos abierto el centro de control y no vemos lo creado recientemente, debemos hacer click derecho sobre la base de datos y en el men contextual en la opcin Renovar. ALTERNATIVA 2: CREAR TABLAS UTILIZANDO SCRIPT DE GENERACION Estamos en la ventana del asistente de generacion y entonces tildamos la opcin de generar un solo script ordenado, seleccionamos la ubicacion donde queremos que se guarde el script (generalmente se guarda en C: \Archivos de programa\Embarcadero\ERStudio6.5\SQLCode\ en la carpeta donde esta instalado el ER/Studio) y le damos Siguiente. Luego aparecen una gran cantidad de opciones, las mismas que aparecen si intentamos generar mediante ODBC a lo cual le damos click a Finalizar para usar las opciones por defecto.

Este mensaje aparece cuando se genera el script y nos da la opcin de ejecutarlo desde el ER/Studio. El ISQL de ER/Studio nos sirve para ejecutar consultas/script mediante un origen de datos ODBC, pero no vamos a realizarlo de esta manera. Lo que vamos a hacer es ingresar al Editor de Mandatos de DB2 ya sea mediante el men InicioProgramasDB2Herramientas de linea de Mandatos o mediante el acceso directo en el centro de control. Una vez en el centro de mandatos debemos seleccionar la base de datos en la cual queremos ejecutar el script, pulsamos el botn Aadir

y nos aparece el siguiente cuadro en donde aparecen todas las bases de datos que tenemos disponibles (locales y remotas), mediante el centro de control, debemos elegir la base de datos CLIENTES para continuar y clickear en Bien para continuar, en caso de querer ejecutar el script en una base de datos remota deberiams ingresar tambien el usuario y la contrasea.

Ahora tenemos que apretar el boton de Play que esta a la izquierda en el centro de mandatos para que ejecute el script.

Una vez hecho esto en el cuadro de abajo del editor de mandatos deberia figurar algo como: Una conexin de JDBC con el destino ha resultado satisfactoria.. Si esto es as, estaremos conectados y podremos ejecutar comandos en la base de datos, pero lo que queremos hacer primero es correr el el script de generacin de la base de datos.

Debemos hacer click en Abrir y buscamos el archivo .sql que nos genero ER/Studio, cabe aclarar que no es necesario que el archivo de script tenga la extension .sql ya que lo importante es que sea un archivo de texto plano que tenga las sentencias SQL.En este caso el archivo est en la ubicacin por defecto del ER/Studio.

Luego de esto el script esta cargado, tenemos que darle Play para que se ejecute y con un poco de suerte en el cuadro de abajo se va a poder leer El mandato SQL ha finalizado satisfactoriamente.. Si esto sucede la tabla ya estara creada en la base de datos. Si ahora bien hemos creado la Base de Datos con sus respectivas tablas, las cuales estn vacas, debemos cargarlas con datos para poder realizar consultas. Bueno eso es todo espero que sea de ayuda para alguien, si surgen dudas de este humilde tutorial no duden en pasar por la pagina de DB2 User Group http://www.db2ug.byethost7.com y tambin por el foro. O tambin pueden escribir a ironchauli@hotmail.com para sugerencias, correcciones, etc acerca de este tutorial. APENDICE CREANDO UNA BASE DE DATOS UTILIZANDO EL ASISTENTE El software ER/Studio nos es de gran ayuda para poder crear las tablas de una base de datos pero nos deja el trabajo de crear la base de datos a nosotros, en este caso vamos a crear una base de datos utilizando el asistente de DB2 Express C 9. En otras versiones de DB2 se incluyen opciones extras que en este apendice no aparecen por lo que los usuarios de DB2 Workgroup Server Edition para arriba van a tener ms pasos que seguir los cuales no vamos a comentar.

Primero vamos al centro de control y haciendo click derecho sobre la instancia en la cual vamos a crear la base de datos seleccionamos, en el men contextual, Crear base de datos y luego elegimos Estndar....

Despus, nos aparece la siguiente ventana, donde debemos ingresar el Nombre de la base de datos, la Va de acceso por omisin donde se va a ubicar, el Alas de la base de datos y una descripcin (o Abstract o Comentario para la gente bonita). Las dems opciones dejamos por defecto, stas sirven para trabajar con grandes bases de datos y otras opciones ms avanzadas como ser Habilitar base de datos paraXML. En donde se especifica la Va de acceso se debe poner una raz o Disco y/o particin.

Luego se nos pregunta en dnde deseamos guardar los datos, esto se debe modificar en el caso de tener una base de datos que suponemos va a tener mucho datos, entonces podemos definir muchas unidades de disco para que el gestor utilice para almacenar los datos.

Lo siguiente es definir la pgina de cdigos, por ejemplo para poder trabajar con la , en este caso elegimos Argentina. Todo esto se especifica para la Regin por defetco que elijamos.

Por ltimo se nos presenta un resumen de las opciones que elegimos y pulsamos Finalizar para crear la base de datos, al hacer esto se crearn varias tablas, estas son las que definen la base de datos y varias cosas ms

Una vez terminado esto y si no ocurre nada fuera de lo comn la base de datos debera estar creada en la instancia seleccionada. Como se puede ver es algo sencillo crear una base de datos utilizando el asistente; tambin aqu debemos, en caso de no aparecer la base de datos creadas en el centro de control, debemos dar Renovar para que aparezca (en este caso en Bases de Datos de la instancia seleccionada) .

You might also like