Download creando una base de datos con ayuda de er/studio

Document related concepts

Microsoft SQL Server wikipedia , lookup

SQL wikipedia , lookup

Vista materializada wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Transcript
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 Ingeniería en Sistemas de la Universidad Tecnológica 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 máximo el potencial de esta tecnología. La
presente publicación de este tutorial reflejan la opinión 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 compañías .El uso del nombre de alguna marca no tiene
propósito de transmisión de endoso u otra afiliación con este tutorial. El grupo no asume
responsabilidad alguna por cualquier consecuencia derivada de la fabricación ,funcionamiento
y/o utilización de los productos o servicios que se describen ,analizan o publican, como
tampoco cualquier violación 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 ningún tipo de garantía, implícita o explicita, en lo concerniente a fidelidad, validez o
exactitud de la información o resultados obtenidos por el uso de dicha información 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 lógico estable, es decir un MER con el menor
número 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 InsertarNueva 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
(podría tener fecha de inicio de actividad, pero no va al caso)
Como verán también se incluyo un campo Foto_Cliente, en este tutorial no lo vamos a
cargar todavía, eso lo vamos a dejar para otro tutorial mas adelante...
Como ya tenemos el modelo lógico listo, debemos generar el modelo físico, hay que
recordar que el modelo lógico es independiente de la plataforma en la cual se
implemente, por lo tanto para generar el modelo físico 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 Físico” (el modelo lógico 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 físico que estamos creando, debemos hacer esto porque
para un solo modelo lógico puede haber varios modelos físicos 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 físico para IBM DB2 UDB 8.x porque es lo más cercano que tenemos al día 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 versión 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 más 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 cómo quedo el modelo físico de
nuestra base de datos, en este modelo las entidades del modelo lógico pasan a llamarse
tablas
Si hacemos click derecho en la tabla Clientes y la comparamos con lo que fue en el
modelo lógico 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 lógico nos sirve para modelar el
escenario/problema que tengamos, pero una vez que pasamos al físico tendremos los
nombres de los campos y de las tablas con las que vamos a trabajar cuando escribamos
las sentencias SQL, entonces no es cómodo tener columnas como
“FechaUltimoPagoIvaCreditoFiscal_ClienteMoroso“, deberíamos 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 físico,
podríamos haberlos hecho ya en el modelo lógico, cuando escribimos en el formulario
de carga de los atributos de la entidad podemos definir el nombre de columna que tendrá
el modelo físico).
Ahora que tenemos la tabla lista para crearla en el gestor, debemos hacer click en el
modelo físico (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 apéndice 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 conexión ODBC. Para esto, observando
en la Figura anterior, debemos seleccionar la opción Generar Objetos con Conexión a
Base de Datos y clickear en el botón 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 orígenes 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/contraseña de algun usuario con privilegios (como db2admin).
Al hacer click en OK, volvemos a la ventana del asistente de generación, 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 generación, 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 opción Renovar.
ALTERNATIVA 2: CREAR TABLAS UTILIZANDO SCRIPT DE GENERACION
Estamos en la ventana del asistente de generacion y entonces tildamos la opción 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 opción 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ú
InicioProgramasDB2Herramientas 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 botón Añadir
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 contraseña.
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 conexión 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 generación 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 ubicación 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 están vacías,
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 también por el foro. O también pueden escribir a
[email protected] 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 más 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 Estándar....
Después, nos aparece la siguiente ventana, donde debemos ingresar el Nombre de la
base de datos, la Vía de acceso por omisión donde se va a ubicar, el Alías de la base de
datos y una descripción (o Abstract o Comentario para la gente bonita). Las demás
opciones dejamos por defecto, éstas sirven para trabajar con grandes bases de datos y
otras opciones más avanzadas como ser Habilitar base de datos paraXML…. En donde
se especifica la Vía de acceso se debe poner una raíz o Disco y/o partición.
Luego se nos pregunta en dónde 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 página de códigos, por ejemplo para poder trabajar con la “ñ”,
en este caso elegimos Argentina. Todo esto se especifica para la Región 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 crearán varias tablas, estas son las
que definen la base de datos y varias cosas más…
Una vez terminado esto y si no ocurre nada fuera de lo común la base de datos debería
estar creada en la instancia seleccionada.
Como se puede ver es algo sencillo crear una base de datos utilizando el asistente;
también 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) .