0% encontró este documento útil (0 votos)
245 vistas5 páginas

Bitacoras Implementacion en Mysql

Este documento describe los pasos para crear una bitácora de cambios en una base de datos. Incluye crear tablas, procedimientos almacenados y triggers para registrar inserciones, actualizaciones y eliminaciones de registros, así como quién realizó cada cambio y cuándo ocurrió.

Cargado por

Eduardo Sinaloa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
245 vistas5 páginas

Bitacoras Implementacion en Mysql

Este documento describe los pasos para crear una bitácora de cambios en una base de datos. Incluye crear tablas, procedimientos almacenados y triggers para registrar inserciones, actualizaciones y eliminaciones de registros, así como quién realizó cada cambio y cuándo ocurrió.

Cargado por

Eduardo Sinaloa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

Tener una bitácora nos ayuda a tener un mejor control de nuestra información:

 ver quien hace cambios por “error”


 ver la fecha
 tipo de operación (inserción, actualización y/o borrado)

Bueno he aquí los pasos para crear una pequeña bitácora

1. Crear la base de datos

create database prueba1;


show databases;
use prueba1;

2. Crear una tabla llamadas personas

create table personas (id_persona int auto_increment primary key, nombre varchar (50),
apellido_p varchar (50), apellido_m varchar(50), edad int, peso double, talla double);

3. Crear un procedimiento almacenado para insertar registros

DELIMITER $$
DROP PROCEDURE IF EXISTS `prueba1`.`Insertar` $$
CREATE PROCEDURE `prueba1`.`Insertar`(in nombre varchar (50), apellido_p varchar (50),
apellido_m varchar(50), edad int, peso double, talla double)

BEGIN
INSERT INTO personas (nombre,apellido_p, apellido_m , edad , peso , talla) VALUES
(nombre,apellido_p, apellido_m , edad , peso , talla );

END $$

DELIMITER ;

4. Crear un procedimiento almacenado para actualizar registros

DELIMITER $$
DROP PROCEDURE IF EXISTS `prueba1`.`Actualizar` $$
CREATE PROCEDURE `prueba1`.`Actualizar` (in id_personax int,edadx int,pesox double)
BEGIN
update personas set edad=edadx,peso=pesox where id_persona=id_personax;
END $$

DELIMITER ;

5. Crear un procedimiento almacenado para eliminar registros

DELIMITER $$

DROP PROCEDURE IF EXISTS `prueba1`.`Borrar` $$


CREATE PROCEDURE `prueba1`.`Borrar` (in id int)
BEGIN
delete from personas where id_persona=id;
END $$

DELIMITER ;

6. Invocar los procedimientos almacenados

Call Insertar (‘Horacio’,’Gomez’,’Carmona’,25,65,1.68);


Call Insertar (‘Hugo’,’Torres’,’Mendez’,32,67,1.70);
Call Actualizar (1, 26, 66);
Call Borrar (2)

Ver registros

Select * from personas;

7. Crear un procedimiento almacenado que muestre todos los registros

DELIMITER $$

DROP PROCEDURE IF EXISTS `sp_verPersonas` $$


CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_verPersonas`()
select *from personas $$

DELIMITER ;

Para invocarlo
Call sp_verPersonas();

8. Crear tabla que lleve un control de quien hace cambios en la base de datos prueba1

CREATE TABLE infobase (usuario varchar (50), descripcion varchar (50)


fecha TIMESTAMP default now());

9. Crear trigger para la inserción

delimiter $$

create trigger tr_insercion


before insert on personas
for each row
begin
insert into infobase values(user(),’persona creada’,now());

end $$

10. Crear trigger para la actualización

delimiter $$

create trigger tr_actualizacion


befote update on personas
for each row
begin
insert into infobase values(user(),’persona modificada’,now());

end $$

11. Crear trigger para la eliminación

delimiter $$

create trigger tr_borrado


befote delete on personas
for each row
begin
insert into infobase values(user(),’persona eliminada’,now());

end $$

Ver cambios

Select *from infobase;

12. Crear procedimiento almacenado para ver un registro en particular

DELIMITER $$

DROP PROCEDURE IF EXISTS `sp_verPersona` $$


CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_verPersona`(in id_buscar int)
select *from personas where id_persona=id_buscar $$

DELIMITER ;

13. Ahora hacer una operación: calcular el I.M.C. (Índice de Masa Corporal) de las
personas registradas

Fórmula: peso/(talla*talla)

DELIMITER $$

DROP PROCEDURE IF EXISTS `sp_verImc` $$


CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_verImc`()
select id_persona,nombre,edad,peso,talla,peso/(talla*talla) from personas $$

DELIMITER ;

Crear trigger corregido sin error

delimiter $$

create trigger tr_actualizacion


before update on personas

for each row

begin

insert into infobase values(user(),'persona modificada',now());

end $$

persona eliminada

delimiter $$
create trigger tr_borrado before delete on personas
for each row
begin
insert into infobase values(user(),'persona eliminada',now());
end $$

DELIMITER $$

DROP PROCEDURE IF EXISTS `sp_verPersona` $$


CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_verPersona`(in id_buscar int)
select *from personas where id_persona=id_buscar $$

DELIMITER ;

También podría gustarte