Está en la página 1de 15

NOMBRE DEL TRABAJO: ALMACEN

BASE DE DATOS

AQU SOLO MUESTRO COMO REALIZA CONSULTAS Y ALGUNOS TRIGGERS, SON EJERCICIOS BASICOS EN CLASES SOTWARE UTILIZADO: ORACLE 11G INGENIERIA EN TECNOLOGAS DE LA INFORMACIN

11 DE NOVIEMBRE DE 2009

INTRODUCCION En esta prctica realizaremos la creacin de unas tablas relacionadas con el almacn, las poblaremos y realizaremos algunas consultas utilizando PLSQL

OBJETIVO Analizar y encontrar los posibles errores en las tablas dadas por el profesor de la materia y hacer los cambios necesarios si son viables y dar una propuesta con los cambios realizados. Adems de checar la forma de interactuar con las base de datos usando PLSLQ

PROBLEMTICA Se necesita crear una base de datos que tenga que ver con un almacn relacionarlas y checar la manera en la que se pueda sacar el mximo provecho a este.

Creamos la tabla almacenes.

Creamos la tabla tipos_pieza.

Creamos la tabla piezas.

Creamos la tabla existencias.

Creamos la tabla empresas.

Creamos la tabla suministros.

Deshabilitamos a PIE_TIP_FK de la tabla piezas.

Deshabilitamos a EXI_NAL_FK y a EXI_PIE_FK de la tabla Existencias.

Deshabilitamos a TIPOS-PIEZA_FK de la tabla.

Poblamos la tabla Almacenes.

Poblamos la tabla Empresas

Poblamos la tabla Existencias

Poblamos la tabla Piezas

Poblamos la tabla Suministros

Poblamos la tabla Tipos_Pieza

ALMACEN 1 Ejercicios con esquema ACTUALIZAR EN CASCADA. Crear triggers que permitan actualizar en cascada el campo tipo de la tabla tipos_pieza en caso de que sea modificado con una instruccin UPDATE.

Creamos la tabla de auditorias de suministros.

Cada vez que se modifica un precio en la tabla suministros se almacene un registro en la tabla suministros_audit con el precio viejo, el nuevo y la fecha del cambio.

Comprobacion de precios: Crear un trigger para la tabla de piezas que prohiba modificar el precio de venta de una pieza a un precio ms pequeo que el del menor precio de compra para esa pieza.

Relleno de campo: Crear una nueva columna en la tabla suministros llamada barata de tipo NUMBER(1) de forma que slo acepte los nmeros 0 y 1 (el 1 significa lo mismo que VERDADERO). Tambin eliminamos los comentarios /* Procedimiento que rellena convenientemente el campo barato de la tabla suministros*/ y /* Obtencin del precio ms barato de ese tipo y modelo de pieza*/

Normalizar base de datos: En la base de datos de los almacenes, cuando una pieza no est en un almacn concreto, significa que no existe el registro relacionado con esa pieza en la tabla de existencias. Hacer que a partir de ahora cuando una pieza no est en un almacn, aparezca en existencias relacionada con ese almacn pero con cantidad 0

Relleno automtico: Tras normalizar, crear un trigger que haga que cuando se aada una nueva pieza en la tabla de piezas, se rellenen las existencias de esa pieza (se colocar la cantidad de esa pieza en cada almacn a 0).

ALMACEN 2 Crear una funcin y llamarla MaxNombre, que devuelva el mximo tamao que tiene el nombre de las empresas. Es decir si el nombre de una empresa tiene 25 caracteres y ninguna tiene un nombre ms largo, devolver 25. Realizamos la consulta para verificar EL trigger realizo una modificacin interna a una longitud mxima de 23 el nombre mas largo del dato que se encuentra en la tabla y lo vemos reflejado al realizar una consulta con el describe.

Modificar la tabla piezas, aadiendo ms registros de la siguiente forma. Se aadir para cada tipo de pieza (dsponible en la tabla tipos de pieza) en esa tabla los modelos del 9 al 29. El precio se dejar a 0,1 (3 puntos). Tambien se modificaron los number(2) de la tabla piezas a solo number, se ve este resultado al realizar la consulta describe

Crear el siguiente informe a partir de las tablas suministros y empresas. Este trigger modifico los registros que eran de tipo AR con modelos 6, 9 y 12 y modifico los precios de compra a todos en 0.005 como se muestra en la siguiente imagen al ealizar la consulta en la tabla suministros.