LABORATORIO 13 USAR LENGUAJE TRANSACCIONAL SOBRE LA BASE DE DATOS
ELABORADO POR: CEILA KARINA PEÑALOZA APRENDIZ
INSTRUCTOR RESPONSABLE: CESAR MANUEL CASTILLO RODRIGUEZ
SERVICIO NACIONAL DE APRENDIZAJE SENA TECNOLOGO EN ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN PAZ DE ARIPORO 2017
Ejercicios:
1. Construya los siguiente procedimientos Almacenados para inserción de registros: En MySQL; para las tablas Profesor
delimiter $ create procedure insertarprofesor (in nombre varchar(150), in apellido varchar (150), in categoria varchar (150), in salario int (10)) begin insert into profesor (nom_prof, ape_prof, cate_prof, sal_prof) values (nombre, apellido, categoria, salario); end $
Curso
delimiter $ create procedure insertarcurso (in nombre varchar(150), in horas int (10), in valor int (10)) begin insert into profesor (nom_curs, horas_cur, valor_cur) values (nombre, horas, valor); end $
Estudiante
delimiter $ create procedure insertarestudiante (in documento int (3), in nombre varchar(150), in apellido varchar (150), in edad int (3)) begin insert into estudiante (doc_est, nom_est, ape_est, edad_est) values (documento, nombre, apellido, edad); end $
Estudiantexcurso.
delimiter $ create procedure insertarestudiantexcurso (in codcur int (11), in docest int(11), in fecha datetime (6)) begin insert into estudiantexcurso (cod_cur_estcur, doc_est_estcur, fec_ini_estcur) values (codcur, docest, fecha); end $
En ORACLE; para las tablas Cliente create or remplace procedure “INSERTARCLIENTE”
(IdeCliente IN CHAR, NomCliente IN VARCHAR2, ApeCliente IN VARCHAR2, DirCliente IN VARCHAR2, DepCliente IN VARCHAR2, CumpleCliente IN VARCHAR2) is begin insert into cliente (id_cli, nom_cli, ape_cli, dir_cli, dep_cli, cum_cli) values (IdeCliente, NomCliente, ApeCliente, DirCliente, DepCliente, CumpleCliente); end; /
Articulo create or remplace procedure “INSERTARARTICULO”
(IdeArticulo IN CHAR, TitArticulo IN VARCHAR2, AutArticulo IN VARCHAR2, EdiArticuloIN VARCHAR2, PrecArticulo IN CHAR2) is begin insert into cliente (id_art, tit_art, aut_art, edi_art, pre_art) values (IdeArticulo, TitArticulo, AutArticulo, EdiArticulo, PrecArticulo); end; /
Pedido. create or remplace procedure “INSERTARPEDIDO”
(IdePedido IN CHAR IdeCliPedido IN CHAR, FechaPedido IN DATE, ValPedido IN VARCHAR2) is begin insert into pedido (id_ped, id_cliped, fec_ped, val_ped) values (IdePedido, IdeCliPedido, FechaPedido, ValPedido); end; /
En el Motor de su preferencia (ORACLE O MySQL), para las tablas, Compañía
delimiter $ create procedure insertarcompañia (in nit int(15), in nombre varchar (150), in añofundacion datetime (6), in representante varchar (45)) begin insert into compañiacompañia (comnit, comnombre, comañofun, comrelplegal) values (nit, nombre, añofundacion, representante); end $
TiposAutomotores
delimiter $ create procedure insertartiposautomotores (in tipo int(10), in apellido varchar (150)) begin insert into tiposautomotores (auttipo, autnombre) values (tipo, apellido); end $
Automotores
delimiter $ create procedure insertarautomotores (in placa varchar(6), in marca varchar (150), in tipo varchar (100), in modelo varchar (100), in NoPasajeros int (3), in cilindraje int(6), in chasis varchar(100)) begin insert into tiposautomotores (autoplaca, automarca, autotipo, automodelo, autonumpasajeros, autocilindraje, autonumchasis) values (placa, marca, tipo, modelo, NoPasajeros, cilindraje, chasis ); end $
Aseguramientos
delimiter $ create procedure insertaraseguramientos (in codigo int(11), in fechainicio datetime (6), in fechafin datetime (6), in valorasegurado int (30), in estadoseguro varchar (45), in costo int(6), in placa varchar(6)) begin insert into tiposautomotores (asecodigo, asefechainicio, asefechaexpiracion, asevalorasegurado, aseestado, asecosto, aseplaca) values (codigo, fechainicio, fechafin, valorasegurado, estadoseguro, costo, placa ); end $ Incidentes.
2. En Oracle construya los procedimientos almacenados para realizar los siguientes procesos: Muestre los salarios de los profesores ordenados por categoría. Muestre los cursos cuyo valor sea mayor a $500.000. Visualizar el nombre, apellido y dirección de todos aquellos clientes que hayan realizado un pedido el día 25 /02/2012. Listar todos los pedidos realizados incluyendo el nombre del artículo. Listar los todos datos de los automotores cuya póliza expira en octubre de 2013, este reporte debe visualizar la placa, el modelo, la marca,
número de pasajeros, cilindraje nombre de automotor, el valor de la póliza y el valor asegurado. 3. En MySQL construya los procedimientos almacenados para realizar los siguientes procesos:
Muestre todos los campos de la tabla curso en orden ascendente según el valor.
Mostrar los pedidos con los respectivos artículos (código, nombre, valor y cantidad pedida).
Visualizar los datos de las empresas fundadas entre el año 1991 y 1998.
Visualizar todos los clientes organizados por apellido.
Visualizar los datos de los incidentes que han tenido un (1) herido, este reporte debe visualizar la placa del automotor, con los respectivos datos de la póliza como son fecha de inicio, valor, estado y valor asegurado.
Visualizar los incidentes del vehículo con placas " FLL420", este reporte debe visualizar la fecha, el lugar, la cantidad de heridos del incidente, la fecha de inicio la de expiración de la póliza y el valor asegurado.
4. Realice las Siguientes funciones en MySQL: Cuente el número de estudiantes cuya edad sea mayor a 22.
Muestre el nombre y la edad del estudiante más joven.
Calcule el valor promedio de los cursos cuyas horas sean mayores a 40.
Obtener el sueldo promedio de los profesores de la categoría 1.
Muestre el nombre del profesor con menor sueldo.
5. Realice las Siguientes funciones en ORACLE: Visualizar el nombre del cliente, la fecha y el valor del pedido más costoso.
Visualizar los incidentes con el mínimo número de autos involucrados, de este incidente visualizar el estado de la póliza y el valor asegurado.
Visualizar los datos de la póliza cuyo valor asegurado es el más costoso, este reporte además de visualizar todos los datos de la póliza, debe presentar todos los datos del vehículo que tiene dicha póliza.
6. Construya los siguiente disparadores para controlar la actualización y borrado de registros En MySQL; para las tablas Profesor Construya
Actualización
Borrado
Curso
Estudiante.