Vous êtes sur la page 1sur 20

Usar lenguaje transaccional sobre la base de datos del proyecto

AP6-AA2-Ev2-Construcción de elementos de programación para el proyecto de formación

Presentado por:

Jesús Alberto Ortiz Villamizar

Ficha 1017023

Tecnología en Análisis y Desarrollo de Sistemas de Información (ADSI)

Servicio Nacional de Aprendizaje (SENA)

2016
Construir 10 procedimientos almacenados

Todos los procedimientos que aparecen a continuación dan solución al caso de uso agregar

administrador, error y solución

1. Procedimiento para la inserción de datos en la tabla administrador.

Codigo:

create procedure insertaradministradores(cedula varchar(20),nombre varchar(20),apellido


varchar(20),email varchar(45),telefono varchar(20),usuario varchar(20),contraseña varchar(20))
insert into
tbl_administrador(cedula,admnombre,admapellido,admemail,admtelefono,admusuario,admcontr
aseña)
values(cedula,nombre,apellido,email,telefono,usuario,contraseña);

Llamado procedimiento:

call insertaradministradores('88091481582','Yerry Fernando','Mina


Gonzales','yerri@colombia.com','3218569323','yerrymina','abcdef');
2. Procedimiento para insertar datos en la tabla error.

Código:

create procedure insertarerrores(cedula varchar(20),nombre varchar(20),descripcion


varchar(255),log varchar(255),lugar varchar(20),hora varchar(20),tipo varchar(20))
insert into tbl_error(errcedula,errnombre,errdescripcion,errlog,errlugar,errhora,errtipo)
values (cedula,nombre,descripcion,log,lugar,hora,tipo);

Llamado procedimiento

call insertarerrores('88091481582','Error de sintaxis','No se puede insertar','You have an error in


your SQL syntax','PC de pruabas','13:05','Mysql');
3. Procedimiento para insertar datos en la tabla solución.

Código:

create procedure insertarsoluciones(iderror int(11),nombre varchar(20),descripcion


varchar(255),pasouno varchar(45),pasodos varchar(45),pasotres varchar(45),pason varchar(45))
insert into
tbl_solucion(soliderror,solnombre,soldescripcion,solpasouno,solpasodos,solpasotres,solpason)
values(iderror,nombre,descripcion,pasouno,pasodos,pasotres,pason);

Llamado procedimiento:

call insertarsoluciones('4','Solucion sintaxis','No se puede insertar','revisar comillas','revisar


punto y comas','revisar comas','revisar parentesis');
4. Procedimiento para mostrar los nombres y apellidos de todos los administradores

Código:

create procedure mostraradministradores()

select admnombre,admapellido from tbl_administrador;

Llamado procedimiento:

call mostraradministradores;

5. Procedimiento para saber la cantidad de errores almacenados.

Código:

create procedure contarerrores()


select count(iderror) from tbl_error;

Llamado procedimiento:
call contarerrores;
6. Procedimiento para contar las soluciones almacenadas.

Codigo:
create procedure contarsoluciones()
select count(idsolucion) from tbl_solucion;
Llamado procedimiento:
call contarsoluciones;
7. Procedimiento para ver los errores agregados por cada uno de los administradores

Código:

create procedure erroresadministrador()


select adm.admnombre, adm.admapellido, err.iderror, err.errlog
from tbl_administrador adm, tbl_error err
where adm.cedula=err.errcedula;

Llamado procedimiento:
call erroresadministrador;
8. Procedimiento para ver los errores con su respectiva solución.

Codigo:

create procedure mostrarerrorsolucion()

select err.iderror, err.errlog, sol.solpasouno, sol.solpasodos, sol.solpasotres, sol.solpason

from tbl_error err, tbl_solucion sol

where err.iderror=sol.soliderror;

Llamado procedimiento:

call mostrarerrorsolucion;
9. Procedimiento para observar los errores almacenados.

Código:

create procedure mostrarerrores()

select errnombre, errlog, errdescripcion from tbl_error;

Llamar procedimiento:

call mostrarerrores;

10. Procedimiento para mostrar soluciones.

Código:

create procedure mostrarsolucion()

select solnombre, soldescripcion, solpasouno,solpasodos,solpasotres,solpason from tbl_solucion;

Llamado procedimiento:

call mostrarsolucion;
Construir 5 funciones.

1. Función para comparar los administradores con las funciones

select adm.admnombre, adm.admapellido, err.iderror, err.errlog

from tbl_administrador adm, tbl_error err

where adm.cedula=err.errcedula;

2. Función para comparar el error con la solución

select err.iderror, err.errlog, sol.solpasouno, sol.solpasodos, sol.solpasotres, sol.solpason

from tbl_error err, tbl_solucion sol

where err.iderror=sol.soliderror;
3. Función para contar las soluciones

select count(idsolucion) from tbl_solucion;

4. Funcion para contar los errores

select count(iderror) from tbl_error;

5. Función para mostrar los administradores

select admnombre,admapellido from tbl_administrador;


Construir 5 desencadenadores

1. Auditar la tabla tbl_administrador para las actualizaciones

create table auditoria_administrador(


id_audi int not null auto_increment,
audi_nombreanterior varchar(20),
audi_apellidoanterior varchar(20),
audi_emailanterior varchar(45),
audi_telefonoanterior varchar(20),
audi_usuarioanterior varchar(20),
audi_contraseñaanterior varchar(20),
audi_nombrenuevo varchar(20),
audi_apellidonuevo varchar(20),
audi_emailnuevo varchar(45),
audi_telefononuevo varchar(20),
audi_usuarionuevo varchar(20),
audi_contraseñanuevo varchar(20),
audi_fechamodificacion datetime,
audi_usuario varchar(45),
audi_cedula varchar(20) not null,
audi_accion varchar(45) not null,
primary key(id_audi)
)auto_increment=1;
create trigger auditoria_modificacionadministrador before update on tbl_administrador
for each row
insert into auditoria_administrador
(audi_nombreanterior,audi_apellidoanterior,
audi_emailanterior,audi_telefonoanterior,audi_usuarioanterior,
audi_contraseñaanterior,audi_nombrenuevo,
audi_apellidonuevo,audi_emailnuevo,audi_telefononuevo,audi_usuarionuevo,
audi_contraseñanuevo,audi_fechamodificacion,audi_usuario,audi_cedula,audi_accion)
values(old.admnombre,old.admapellido,old.admemail,old.admtelefono,old.admusuario,old.admc
ontraseña,
new.admnombre,new.admapellido,new.admemail,new.admtelefono,new.admusuario,new.admco
ntraseña,
now(),current_user(),new.cedula,'Actualizacion');

update tbl_administrador set admnombre='Radamel falcao', admapellido='Garcia Zárate',


admemail='radamel@seleccion.com', admtelefono='3501234378', admusuario='falcao',
admcontraseña='welcome'
where cedula='1091234567';
2. Auditar la tabla tbl_administrador para los registros eliminados.

create trigger auditoria_administradoreseliminados after delete on tbl_administrador


for each row
insert into auditoria_administrador
(audi_nombreanterior,audi_apellidoanterior,
audi_emailanterior,audi_telefonoanterior,audi_usuarioanterior,
audi_contraseñaanterior,audi_nombrenuevo,
audi_apellidonuevo,audi_emailnuevo,audi_telefononuevo,audi_usuarionuevo,
audi_contraseñanuevo,audi_fechamodificacion,audi_usuario,audi_cedula,audi_accion)
values(old.admnombre,old.admapellido,old.admemail,old.admtelefono,old.admusuario,old.admc
ontraseña,
now(),current_user(),old.cedula,'Registro eliminado');
3. Auditar la actualización de la tabla tbl_error.
create table auditoria_error(
id_audi int not null auto_increment,
audi_nombreanterior varchar(20),
audi_descripcionanterior varchar(255),
audi_loganterior varchar(255),
audi_lugaranterior varchar(20),
audi_horaanterior varchar(20),
audi_tipoanterior varchar(20),
audi_nombrenuevo varchar(20),
audi_descripcionnueva varchar(255),
audi_lognuevo varchar(255),
audi_lugarnuevo varchar(255),
audi_horanueva varchar(20),
audi_tiponuevo varchar(20),
audi_fechamodificacion datetime,
audi_usuario varchar(45),
audi_iderror varchar(20) not null,
audi_accion varchar(45) not null,
primary key(id_audi)
)auto_increment=1;
create trigger auditoria_modificacionerrores before update on tbl_error
for each row
insert into auditoria_error
(audi_nombreanterior,audi_descripcionanterior,audi_loganterior,audi_lugaranterior,
audi_horaanterior,audi_tipoanterior,audi_nombrenuevo,audi_descripcionnueva,
audi_lognuevo,audi_lugarnuevo,audi_horanueva,audi_tiponuevo,audi_fechamodificacion,
audi_usuario,audi_iderror,audi_accion)
values(old.errnombre,old.errdescripcion,old.errlog,old.errlugar,old.errhora,old.errtipo,
new.errnombre,new.errdescripcion,new.errlog,new.errlugar,new.errhora,new.errtipo,
now(),current_user(),new.iderror,'Actualizacion');
4. Auditar la eliminación de la tabla tbl_error.

create trigger auditoria_erroreseliminados after delete on tbl_error


for each row
insert into auditoria_error
(audi_nombreanterior,audi_descripcionanterior,audi_loganterior,audi_lugaranterior,
audi_horaanterior,audi_tipoanterior,audi_nombrenuevo,audi_descripcionnueva,
audi_lognuevo,audi_lugarnuevo,audi_horanueva,audi_tiponuevo,audi_fechamodificacion,
audi_usuario,audi_iderror,audi_accion)
values(old.errnombre,old.errdescripcion,old.errlog,old.errlugar,old.errhora,old.errtipo,
now(),current_user(),old.iderror,'Actualizacion');
5. Auditar la actualización de la tabla tbl_solución

create table auditoria_solucion(


id_audi int not null auto_increment,
audi_nombreanterior varchar(20),
audi_descripcionanterior varchar(255),
audi_pasounoanterior varchar(45),
audi_pasodosanterior varchar(45),
audi_pasotresanterior varchar(45),
audi_pasonanterior varchar(45),
audi_nombrenuevo varchar(20),
audi_descripcionnueva varchar(255),
audi_pasounonuevo varchar(45),
audi_pasodosnuevo varchar(45),
audi_pasotrenuevo varchar(45),
audi_pasonnuevo varchar(45),
audi_fechamodificacion datetime,
audi_usuario varchar(45),
audi_idsolucion varchar(20) not null,
audi_accion varchar(45) not null,
primary key(id_audi)
)auto_increment=1;
create trigger auditoria_modificacionsoluciones before update on tbl_solucion
for each row
insert into auditoria_solucion
(audi_nombreanterior,audi_descripcionanterior,audi_pasounoanterior,audi_pasodosanterior,
audi_pasotresanterior,audi_pasonanterior,audi_nombrenuevo,audi_descripcionnueva,
audi_pasounonuevo,audi_pasodosnuevo,audi_pasotrenuevo,audi_pasonnuevo,audi_fechamodific
acion,
audi_usuario,audi_idsolucion,audi_accion)
values(old.solnombre,old.soldescripcion,old.solpasouno,old.solpasodos,old.solpasotres,old.solpa
son,
new.solnombre,new.soldescripcion,new.solpasouno,new.solpasodos,new.solpasotres,new.solpas
on,
now(),current_user(),old.idsolucion,'Actualizacion');
6. Auditar la eliminación de los registros de la tabla tbl_solucion

create trigger auditoria_solucioneseliminadas after delete on tbl_solucion


for each row
insert into auditoria_solucion
(audi_nombreanterior,audi_descripcionanterior,audi_pasounoanterior,audi_pasodosanterior,
audi_pasotresanterior,audi_pasonanterior,audi_nombrenuevo,audi_descripcionnueva,
audi_pasounonuevo,audi_pasodosnuevo,audi_pasotrenuevo,audi_pasonnuevo,audi_fechamodific
acion,
audi_usuario,audi_idsolucion,audi_accion)
values(old.solnombre,old.soldescripcion,old.solpasouno,old.solpasodos,old.solpasotres,old.solpa
son,
now(),current_user(),old.idsolucion,'Actualizacion');

Vous aimerez peut-être aussi