Logo Studenta

PRACTICA UNIDAD 5 taller de base de datos - Mauricio axel 20

¡Este material tiene más páginas!

Vista previa del material en texto

PRACTICA UNIDAD 5
El alumno realizara la configuración de una bitácora de eventos en el servidor de bases de datos.
1. Activara la bitácora general de eventos. 
2. Creara la siguiente base de datos:
a. Base de datos agenda
b. Dentro de agenda creara la tabla personas, la cual contendrá los siguientes campos: índice, nombre, apellidos, teléfono, email. 
3. Al finalizar la creación de la tabla, deberá crear los siguientes disparadores (triggers) para llevar el control de las siguientes operaciones en la base de datos, la estructura que tendrán los triggers es (los campos principales de la personas, además de agregar el nombre del usuario, hora y fecha de la ejecución del comando) :
a. Crear un trigger para guardar la bitácora de cuando se inserta un nuevo dato.
b. Crear un trigger para guardar la bitácora de cuando se elimina un dato.
c. Crear un trigger para guardar la bitácora de cuando se modifica un dato. 
4. Insertaran a la tabla personas 20 nombres. 
5. Realizaran una consulta general a la tabla persona y mostraran los 20 elementos.
6. Eliminaran los elementos con los índices 2, 5, 8 y 11 de su tabla personas.
7. Realizaran una nueva consulta general para mostrar los 16 datos que no sufrieron alteración
8. Modificaran los números telefónicos de los índices 15, 19 y 20
9. Realizaran una nueva consulta general para mostrar los cambios realizados
10. Agregaran 4 datos nuevos para volver a obtener 20 personas en la agenda
11. Finalmente, mostraran las bitácoras:
a. General
b. bitácora de inserciones
c. bitácora de eliminaciones
d. bitácora de actualizaciones
PRACTICA UNIDAD 5
El alumno realizara la configuración de una bitácora de eventos en el servidor de bases de datos.
1. Activara la bitácora general de eventos.
SET global general_log = 1;
SET global log_output = 'table';
2. Creara la siguiente base de datos:
a. Base de datos agenda
b. Dentro de agenda creara la tabla personas, la cual contendrá los siguientes campos: índice, nombre, apellidos, teléfono, email.
create database agenda;
use agenda;
create table persona (
id_persona int not null primary key,
nombre varchar(35) null,
apellidos varchar(85) null,
telefono bigint null,
email varchar(50) null);
3. Al finalizar la creación de la tabla, deberá crear los siguientes disparadores (triggers) para llevar el control de las siguientes operaciones en la base de datos, la estructura que tendrán los triggers es (los campos principales de la personas, además de agregar el nombre del usuario, hora y fecha de la ejecución del comando) :
a. Crear un trigger para guardar la bitácora de cuando se inserta un nuevo dato.
b. Crear un trigger para guardar la bitácora de cuando se elimina un dato.
c. Crear un trigger para guardar la bitácora de cuando se modifica un dato.
create table auditoria_persona_insert (
is_auditoria int NOT NULL PRIMARY KEY AUTO_INCREMENT,
new_nombre varchar(35) null,
new_apellidos varchar(85) null,
new_telefono bigint null,
new_email varchar(50) null,
usuario varchar(35) null,
fecha date null);
create table auditoria_persona_delete (
is_auditoria int NOT NULL PRIMARY KEY AUTO_INCREMENT,
old_nombre varchar(35) null,
old_apellidos varchar(85) null,
old_telefono bigint null,
old_email varchar(50) null,
usuario varchar(35) null,
fecha date null);
create table auditoria_persona_update (
is_auditoria int NOT NULL PRIMARY KEY AUTO_INCREMENT,
old_nombre varchar(35) null,
old_apellidos varchar(85) null,
old_telefono bigint null,
old_email varchar(50) null,
new_nombre varchar(35) null,
new_apellidos varchar(85) null,
new_telefono bigint null,
new_email varchar(50) null,
usuario varchar(35) null,
fecha date null);
Delimiter //
create trigger insertar 
after insert 
on persona for each row
begin
insert into 
auditoria_persona_insert(new_nombre, new_apellidos, new_telefono, new_email,usuario,fecha)
values(new.nombre,new.apellidos,new.telefono,new.email,current_user(),now());
end //
Delimiter //
create trigger borrar 
after delete 
on persona for each row
begin
insert into 
auditoria_persona_delete(old_nombre, old_apellidos, old_telefono, old_email,usuario,fecha)
values(old.nombre,old.apellidos,old.telefono,old.email,current_user(),now());
end //
Delimiter //
create trigger actualizar 
after update 
on persona for each row
begin
insert into
auditoria_persona_update(new_nombre, old_nombre, new_apellidos , old_apellidos, new_telefono, old_telefono, new_email, old_email, usuario, fecha)
values(new.nombre, old.nombre ,new.apellidos, old.apellidos, new.telefono, old.telefono ,new.email, old.email ,current_user(),now());
end //
4. Insertaran a la tabla personas 20 nombres.
insert into persona values(1,'pedro','lopez morales',7441234567,'Pedro@gmail.com');
insert into persona values(2,'juan','juarez perez',7442344567,'Juan@gmail.com');
insert into persona values(3,'jose','jules zapata',7442365567,'Jose@hotmail.com');
insert into persona values(4,'francisco','lopez perez',7445465567,'Francisco@hotmail.com');
insert into persona values(5,'Mauricio','lopez anselmo',7445896587,'Mauricio@hotmail.com');
insert into persona values(6,'Julian','costa juarez',7444125874,'Julian@hotmail.com');
insert into persona values(7,'Marco','cuesta garcia',7441254521,'Marco@gmail.com');
insert into persona values(8,'Ander','gonzalez garcia',7444758965,'Ander@hotmail.com');
insert into persona values(9,'Kevin','rodriguez gomez',7441236987,'Kevin@hotmail.com');
insert into persona values(10,'Karla','lopez medina',7444562158,'Karla@gmail.com');
insert into persona values(11,'Luz','diaz martinez',7441256325,'Luz@hotmail.com');
insert into persona values(12,'Roberto','lopez garcia',7441458745,'Roberto@hotmail.com');
insert into persona values(13,'Katarina','flores sosa',7441258547,'Katarina@hotmail.com');
insert into persona values(14,'Antonio','suarez costa',7447856955,'Antonio@gmail.com');
insert into persona values(15,'Javier','rojas molina',7442587484,'Javier@gmail.com');
insert into persona values(16,'Manuel','luna cabrera',7442584576,'Manuel@hotmail.com');
insert into persona values(17,'agustin','lopez molina',7445896587,'Agustin@hotmail.com');
insert into persona values(18,'Cecilia','moreno rios',7441112587,'Cecilia@gmail.com');
insert into persona values(19,'Mario','alberto castillo',7441233368,'Mario@hotmail.com');
insert into persona values(20,'Karina','suarez vera',7441254587,'Karina@gmail.com');
5. Realizaran una consulta general a la tabla persona y mostraran los 20 elementos.
Select * from persona;
6. Eliminaran los elementos con los índices 2, 5, 8 y 11 de su tabla personas.
Delete from persona where id_persona = 2;
Delete from persona where id_persona = 5;
Delete from persona where id_persona = 8;
Delete from persona where id_persona = 11;
7. Realizaran una nueva consulta general para mostrar los 16 datos que no sufrieron alteración
Select * from persona;
8. Modificaran los números telefónicos de los índices 15, 19 y 20
Update persona set telefono = 7445896587 where id_persona = 15; 
Update persona set telefono = 7444582512 where id_persona = 19; 
Update persona set telefono = 7445632578 where id_persona = 20;
9. Realizaran una nueva consulta general para mostrar los cambios realizados
Select * from persona;
10. Agregaran 4 datos nuevos para volver a obtener 20 personas en la agenda
insert into persona values(2,'Jorge','lopez moreno',7441236565,'Jorge@gmail.com');
insert into persona values(5,'Andre','juarez castillo',7442584545,'Andre@gmail.com');
insert into persona values(8,'Leo','herrera rios',7441256872,'Leo@hotmail.com');
insert into persona values(11,'Gustavo','castillo ojeda',7442369633,'Gustavo@hotmail.com');
11. Finalmente, mostraran las bitácoras:
a. General
use mysql;
select * from general_log
o también 
select * from mysql.general_log\g
b. Bitacora de inserciones
select * from auditoria_persona_insert;
c. Bitacora de eliminaciones
select * from auditoria_persona_delete;
d. Bitacora de actualizaciones
select * from auditoria_persona_update;

Continuar navegando

Otros materiales