Caso e-Bolsa con DB2 - … · Nota : En el tercer paso especificaremos si el procedimiento...
Transcript of Caso e-Bolsa con DB2 - … · Nota : En el tercer paso especificaremos si el procedimiento...
2
Indice
1. Un ABM completo de una tabla. ............................................................................................................ 3
1.a) Alta de una sucursal. ........................................................................................................................ 3
1.b) Baja de una sucursal. ....................................................................................................................... 6
1.c) Modificar una sucursal. .................................................................................................................. 10
Editor de Mandatos para ejecutar los Store Procedure antes generados. .............................................. 15
2. Creación de 3 Triggers........................................................................................................................... 16
2.a) Trigger para que no se pueda inserta un ID en la tabla Sucursal menor a 0. ............................... 16
2.b) Trigger para que no se pueda inserta nombres duplicados en la tabla Sucursal. ....................... 18
2.c) Trigger para que no se pueda inserta una comisión menor al 5%................................................ 20
3. Creación de 4 Índices. ........................................................................................................................... 22
3.a) Creamos un índice sobre la tabla Transacción. ............................................................................. 22
3.b) Creamos un índice sobre la tabla Cuenta Corriente. .................................................................... 25
3.c) Creamos un índice sobre la tabla Cuenta Corriente. .................................................................... 29
3.d) Creamos un índice sobre la tabla Activo. ...................................................................................... 32
4. Creación de Constraints. ....................................................................................................................... 36
4.a) Creación de llave primaria. ............................................................................................................ 36
4.b) Creación de llave foránea. ............................................................................................................. 38
4.c) Creación constraint de dominio. ................................................................................................... 40
4.e) Creación constraint de valores únicos. ......................................................................................... 42
4.e) Creación constraint de valores por defecto. ................................................................................. 43
3
Para el siguiente trabajo utilizamos IBM Data Studio Version 2.2.0.2.
1. Un ABM completo de una tabla.
1.a) Alta de una sucursal.
Nota: Dentro del IBM Data Studio generamos un nuevo proyecto el cual estará enlazado a la conexión
de base de datos que queremos trabajar.
Luego botón derecho en el proyecto � new Store Procedure.
En esta ventana seleccionaremos el proyecto al cual estamos conectados, el nombre del procedimiento
almacenado (Recordar anteponer el esquema al cual apuntamos) y el lenguaje SQL.
4
Nota: En el segundo paso, especificaremos la sentencia del procedimiento almacenado.
Este se puede crear utilizando el asistente o escribiéndolo a mano.
5
Nota: En el tercer paso especificaremos si el procedimiento almacenado trabajara con parámetros de
entrada y salida.
En nuestro caso declaramos dos parámetros de entrada, Nombre y Banco, haciendo referencia al
nombre de la Sucursal y el numero del ID correspondiente al Banco al cual pertenecerá nuestra sucursal
(clave foránea).
6
Nota: Al final se podrá visualizar un resumen del procedimiento almacenado que vamos a crear.
Para ejecutar este procedimiento solo tenemos que escribir en el editor de mandatos:
Call MONTANA.ALTASUCURSAL('Nuevo nombre de la sucursal',2);
1.b) Baja de una sucursal.
7
Nota: Dentro del IBM Data Studio generamos un nuevo proyecto el cual estará enlazado a la conexión
de base de datos que queremos trabajar.
Luego botón derecho en el proyecto � new Store Procedure.
En esta ventana seleccionaremos el proyecto al cual estamos conectados, el nombre del procedimiento
almacenado (Recordar anteponer el esquema al cual apuntamos) y el lenguaje SQL.
8
Nota: En el segundo paso, especificaremos la sentencia del procedimiento almacenado.
Este se puede crear utilizando el asistente o escribiéndolo a mano.
9
Nota: En el tercer paso especificaremos si el procedimiento almacenado trabajara con parámetros de
entrada y salida.
En nuestro caso declaramos dos parámetros de entrada, ID, haciendo referencia al identificador
principal de la tabla Sucursal a la cual queremos acceder para en este caso borrar.
10
Nota: Al final se podrá visualizar un resumen del procedimiento almacenado que vamos a crear.
Para ejecutar este procedimiento solo tenemos que escribir en el editor de mandatos:
Call MONTANA.BAJASUCURSAL(ID de la sucursal a eliminar);
1.c) Modificar una sucursal.
11
Nota: Dentro del IBM Data Studio generamos un nuevo proyecto el cual estará enlazado a la conexión
de base de datos que queremos trabajar.
Luego botón derecho en el proyecto � new Store Procedure.
En esta ventana seleccionaremos el proyecto al cual estamos conectados, el nombre del procedimiento
almacenado (Recordar anteponer el esquema al cual apuntamos) y el lenguaje SQL.
12
Nota: En el segundo paso, especificaremos la sentencia del procedimiento almacenado.
Este se puede crear utilizando el asistente o escribiéndolo a mano.
13
Nota: En el tercer paso especificaremos si el procedimiento almacenado trabajara con parámetros de
entrada y salida.
En nuestro caso declaramos 3 parámetros de entrada, ID, haciendo referencia al identificador principal
de la tabla Sucursal a la cual queremos acceder para en este caso actualizar, nuevoNombre, nuevo
nombre de la sucursal y idBanco haciendo referencia al banco que pertenecerá nuestra sucursal.
14
Nota: Al final se podrá visualizar un resumen del procedimiento almacenado que vamos a crear.
Para ejecutar este procedimiento solo tenemos que escribir en el editor de mandatos:
call MONTANA.MODIFICARSUCURSAL('Nombre',1,100);
16
2. Creación de 3 Triggers.
2.a) Trigger para que no se pueda inserta un ID en la tabla Sucursal menor a 0.
Nota: Dentro del centro de control de nuestra base de datos, encontramos la carpeta Activadores
hacemos clic derecho del Mouse � Crear.
En el wizard nos pedirá, Esquema del activador, nombre del Activador, en nuestro caso Banco , el
esquema de la tabla o vista y el nombre de la tabla o vista.
Momento de activar la acción, en nuestro caso la vamos a ejecutar Antes y la Operación que hace que
se ejecute el activador, Insertar ya que queremos que se ejecute al insertar una nueva fila en la tabla.
17
Nota: Aquí configuramos el Nombre de la correlación para las filas nuevas.
Y la acción activada.
En este caso verificamos que el campo Banco de la nueva fila a insertar no sea menor o = a 0), sino
mostramos un error en pantalla.
18
2.b) Trigger para que no se pueda inserta nombres duplicados en la tabla Sucursal.
Nota: Dentro del centro de control de nuestra base de datos, encontramos la carpeta Activadores
hacemos clic derecho del Mouse � Crear.
En el wizard nos pedirá, Esquema del activador, nombre del Activador, en nuestro caso Sucursal , el
esquema de la tabla o vista y el nombre de la tabla o vista.
Momento de activar la acción, en nuestro caso la vamos a ejecutar Antes y la Operación que hace que
se ejecute el activador, Insertar ya que queremos que se ejecute al insertar una nueva fila en la tabla.
19
Nota: Aquí configuramos el Nombre de la correlación para las filas nuevas.
Y la acción activada.
En este caso verificamos que el resultado de una selección sin duplicados de los nombres de las
sucursales sea = 1.
De ser así enviamos un mensaje de error de que el nombre ya esta utilizado.
20
2.c) Trigger para que no se pueda inserta una comisión menor al 5%.
Nota: Dentro del centro de control de nuestra base de datos, encontramos la carpeta Activadores
hacemos clic derecho del Mouse � Crear.
En el wizard nos pedirá, Esquema del activador, nombre del Activador, en nuestro caso Cliente , el
esquema de la tabla o vista y el nombre de la tabla o vista.
Momento de activar la acción, en nuestro caso la vamos a ejecutar Despues y la Operación que hace que
se ejecute el activador, Insertar ya que queremos que se ejecute al insertar una nueva fila en la tabla.
21
Nota: Aquí configuramos el Nombre de la correlación para las filas nuevas.
Y la acción activada.
En este caso verificamos primero que el porcentaje de comisión a insertar sea menor a 6, de ser así
actualizamos el campo de comisión del cliente al valor 10.
22
3. Creación de 4 Índices.
3.a) Creamos un índice sobre la tabla Transacción.
Nota: Para crear un índice nos posicionamos sobre la tabla a la cual le queremos agregar uno, hacemos
botón derecho del Mouse, � Crear Índice.
24
Nota: En este paso especificamos la clave del índice, en nuestro caso elegimos la columna Operador.
25
Nota: En este ultimo paso observamos el resumen de la generación del índice..
Importante: Existe un paso anterior “opciones” para poder configurar las opciones de rendimiento del
índice.
3.b) Creamos un índice sobre la tabla Cuenta Corriente.
26
Nota: Para crear un índice nos posicionamos sobre la tabla a la cual le queremos agregar uno, hacemos
botón derecho del Mouse, � Crear Índice.
27
Nota: En este paso configuramos el nombre del índice y agregamos un comentario.
Nota: En este paso especificamos la clave del índice, en nuestro caso elegimos la columna Operador.
28
Nota: En este ultimo paso observamos el resumen de la generación del índice.
Importante: Existe un paso anterior “opciones” para poder configurar las opciones de rendimiento del
índice.
29
3.c) Creamos un índice sobre la tabla Cuenta Corriente.
Nota: Para crear un índice nos posicionamos sobre la tabla a la cual le queremos agregar uno, hacemos
botón derecho del Mouse, � Crear Índice.
31
Nota: En este paso especificamos la clave del índice, en nuestro caso elegimos la columna Operador.
32
Nota: En este ultimo paso observamos el resumen de la generación del índice..
Importante: Existe un paso anterior “opciones” para poder configurar las opciones de rendimiento del
índice.
3.d) Creamos un índice sobre la tabla Activo.
33
Nota: Para crear un índice nos posicionamos sobre la tabla a la cual le queremos agregar uno, hacemos
botón derecho del Mouse, � Crear Índice.
34
Nota: En este paso configuramos el nombre del índice y agregamos un comentario.
Nota: En este paso especificamos la clave del índice, en nuestro caso elegimos la columna Operador.
35
Nota: En este ultimo paso observamos el resumen de la generación del índice..
Importante: Existe un paso anterior “opciones” para poder configurar las opciones de rendimiento del
índice.
36
4. Creación de Constraints.
4.a) Creación de llave primaria.
Sobre la tabla Banco.
Nota: Para agregar una llave primaria, desde el Centro de control hacemos clic derecho del Mouse sobre
la tabla � Modificar.
En la solapa “Claves” hacemos clic en “Añadir Primaria”.
Ahí le damos un nombre a la clave primaria y elegimos cual o cuales son los campos que la componen.
Sobre la tabla Sucursal.
Nota: Para agregar una llave primaria, desde el Centro de control hacemos clic derecho del Mouse sobre
la tabla � Modificar.
En la solapa “Claves” hacemos clic en “Añadir Primaria”.
37
Ahí le damos un nombre a la clave primaria y elegimos cual o cuales son los campos que la componen.
Sobre la tabla Cliente.
Nota: Para agregar una llave primaria, desde el Centro de control hacemos clic derecho del Mouse sobre
la tabla � Modificar.
En la solapa “Claves” hacemos clic en “Añadir Primaria”.
Ahí le damos un nombre a la clave primaria y elegimos cual o cuales son los campos que la componen.
Sobre la tabla Operador.
Nota: Para agregar una llave primaria, desde el Centro de control hacemos clic derecho del Mouse sobre
la tabla � Modificar.
En la solapa “Claves” hacemos clic en “Añadir Primaria”.
Ahí le damos un nombre a la clave primaria y elegimos cual o cuales son los campos que la componen.
38
4.b) Creación de llave foránea.
Sobre la tabla Cuenta corriente.
Nota: Para agregar una llave foránea, desde el Centro de control hacemos clic derecho del Mouse sobre
la tabla � Modificar.
En la solapa “Claves” hacemos clic en “Añadir Foránea”.
Ahí le damos un nombre a la clave foránea y elegimos cual o cuales son los campos que la componen,
haciendo la relación con la columna de la tabla padre.
39
Nota: Para agregar una llave foránea, desde el Centro de control hacemos clic derecho del Mouse sobre
la tabla � Modificar.
En la solapa “Claves” hacemos clic en “Añadir Foránea”.
Ahí le damos un nombre a la clave foránea y elegimos cual o cuales son los campos que la componen,
haciendo la relación con la columna de la tabla padre.
40
4.c) Creación constraint de dominio.
Sobre la tabla sucursal.
Nota: Para agregar restricción, desde el Centro de control hacemos clic derecho del Mouse sobre la
tabla � Modificar.
En la solapa “Restricciones de comprobación” hacemos clic en “Añadir”.
Ahí le damos un nombre a la restricción y elegimos cual será la condición de comprobación.
Nota: Después nos mostrara cual será el plan de ejecución.
41
Sobre la tabla Comisión.
Nota: Para agregar restricción, desde el Centro de control hacemos clic derecho del Mouse sobre la
tabla � Modificar.
En la solapa “Restricciones de comprobación” hacemos clic en “Añadir”.
Ahí le damos un nombre a la restricción y elegimos cual será la condición de comprobación.
4.d) Creación constraint de valores no nulos.
Sobre la tabla Sucursal.
42
Nota: Para agregar restricción, desde el Centro de control hacemos clic derecho del Mouse sobre la
tabla � Modificar.
En la solapa “Restricciones de comprobación” hacemos clic en “Añadir”.
Ahí le damos un nombre a la restricción y elegimos cual será la condición de comprobación.
Sobre la tabla Banco.
Nota: Para agregar restricción, desde el Centro de control hacemos clic derecho del Mouse sobre la
tabla � Modificar.
En la solapa “Restricciones de comprobación” hacemos clic en “Añadir”.
Ahí le damos un nombre a la restricción y elegimos cual será la condición de comprobación.
4.e) Creación constraint de valores únicos.
Sobre la tabla Banco.
ALTER TABLE MONTANA.BANCO ADD CONSTRAINT CC1278277168093 UNIQUE (Nombre);
Sobre la tabla Sucursal.
ALTER TABLE MONTANA.SUCURSAL ADD CONSTRAINT C1278277168094 UNIQUE (Nombre);
Nota: Estos cambios se realizaron desde el Editor de mandatos ya que la tabla ya existía en la base de
datos.
Importante: Para que sea Unique tiene que ser NOT NULL.
43
4.e) Creación constraint de valores por defecto.
Sobre la tabla Banco.
Nota: Para agregar un valor por defecto a una columna, desde el Centro de control hacemos clic
derecho del Mouse sobre la tabla � Modificar.
En la solapa “Columnas” hacemos clic en “Añadir”, o si ya existe la columna en
“Valor por omisión” le agregamos el valor por defecto a la columna si esta vendría sin ningún valor.
Sobre la tabla Sucursal.
ALTER TABLE MONTANA.SUCURSAL ALTER COLUMN NOMBRE SET DEFAULT 'Suc';
Nota: Desde el editor de mandatos se puede alterar la estructura de una tabla y sobre una columna
específica.