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
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.
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).
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);
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.
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.
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);
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.
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.
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);
15
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.
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.
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.
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.
23 Nota: En este paso configuramos el nombre del índice y agregamos un comentario.
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.
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 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.
Importante: Existe un paso anterior “opciones” para poder configurar las opciones de rendimiento del índice.
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.
Nota: En este paso configuramos el nombre del índice y agregamos un comentario.
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.
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.
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”.
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.
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”.
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.
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.
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.
Aclaración:
Estos trabajos fueron desarrollados por alumnos de la Universidad Abierta Interamericana. Los enunciados de los trabajos prácticos pertenecen al libro "FUNDAMENTOS DE DISEÑO Y MODELADO DE DATOS" de MORTEO FRANCISCO, BOCALANDRO NICOLAS L. E., CASCON HERNAN G. y otros.