Administración
de bases de datos
| Reto 3
Generar una bitácora de trabajo de
administración de bases de datos
Nombre completo Armando Gonzalez Corona
Matrícula 22022204
Fecha de elaboración 14/05/2024
Nombre del Módulo Administración de bases de datos v1
Nombre del Asesor Araceli Gonzalez Garcia
1 Introducción
Una bitácora de trabajo o fichero de registro log, se utiliza para registrar la información acerca de los
eventos que ocurren en el DBMS como, por ejemplo: instalación, administración y explotación. Esta
bitácora es útil para poder averiguar las posibles fallas o realizar auditorías de las operaciones que los
clientes realizan. Te invitamos a poner en práctica lo aprendido en la Lección de bitácoras de trabajo
del administrador de bases de datos, resolviendo este Reto.
2 Caso de estudio
Instrucción: Revisa con detenimiento el siguiente caso.
Un administrador de base de datos de un hospital desea realizar una bitácora de trabajo para registrar
las operaciones de insert, update y delete sobre la tabla doctores. La creación de la tabla doctores y
bitácora de trabajo, se muestra a continuación:
CREATE DATABASE hospital;
use hospital;
CREATE TABLE doctores
(
id int NOT NULL,
nombre VARCHAR(25) NOT NULL,
apellido VARCHAR(25) NOT NULL,
especialidad VARCHAR(25) NOT NULL,
);
CREATE TABLE bitacora_trabajo
(
id_registro int NOT NULL AUTO_INCREMENT,
operacion VARCHAR(25) DEFAULT NULL,
usuario_cambio VARCHAR(25) DEFAULT NULL,
host_log VARCHAR(25) NOT NULL,
fecha_modificacion DATETIME DEFAULT NULL,
tabla_modificacion VARCHAR(50) NOT NULL,
PRIMARY KEY (id_registro)
)
ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
3 Bitácora de trabajo
Instrucción: Completa la plantilla con los triggers o disparadores que se muestran a continuación:
a. log_doctores_insertar
b. INSERT ON
c. "INSERTAR"
d. log_doctores_actualizar
e. UPDATE ON
f. "ACTUALIZAR"
g. log_doctores_eliminar
h. DELETE ON
i. "ELIMINAR"
j. INSERT
k. UPDATE
l. DELETE
m. 'INSERTAR' ON
n. 'ACTUALIZAR' ON
o. 'ELIMINAR' ON
Plantilla para rellenar
DELIMITER //
CREATE TRIGGER _log__doctores___insertar AFTER INCERST ON doctores
FOR EACH ROW INSERT INTO bitacora_trabajo(host_log, usuario_cambio,
operacion, fecha_modificacion, tabla_modificacion)
VALUES (SUBSTRING(USER(), (INSTR(USER(), '@')+1)),
SUBSTRING(USER(), 1, (INSTR(USER(), '@')-1)), ´´ÍNCERTAR´´, NOW(),
"DOCTORES")
//
CREATE TRIGGER log__doctores__actualizar AFTER UPDATE ON doctores
FOR EACH ROW INSERT INTO bitacora_trabajo(host_log, usuario_cambio,
operacion, fecha_modificacion, tabla_modificacion)
VALUES (SUBSTRING(USER(), (INSTR(USER(), '@')+1)), SUBSTRING(USER(),
1, (INSTR(USER(), '@')-1)), ´´ACTUALIZAR´´, NOW(), "DOCTORES")
//
CREATE TRIGGER log__doctores__eliminar AFTER DELETE ON doctores
FOR EACH ROW INSERT INTO bitacora_trabajo(host_log, usuario_cambio,
operacion, fecha_modificacion, tabla_modificacion)
VALUES (SUBSTRING(USER(), (INSTR(USER(), '@')+1)),
SUBSTRING(USER(), 1, (INSTR(USER(), '@')-1)), ´´ELIMINAR´´, NOW(),
"DOCTORES")
//
4 Tabla bitácora de trabajo
Instrucción: Completa la tabla de la bitácora de trabajo de acuerdo con las consultas mostradas,
teniendo en cuenta que los registros iniciales de la tabla doctores y el usuario identificado en la base
de datos es root@localhost:
id nombre apellido especialidad
1546 Laura Flores Pediatría
1547 Jaime Valdez Cardiología
1548 Paulina Ferrer Ginecología
1549 Andrés Valdivia Ginecología
Consultas:
INSERT INTO doctores(id, nombre, apellido, especialidad)
VALUES ('1875','Amelia', 'Hernández', 'Neurología');
UPDATE doctores
SET especialidad='Urología' WHERE especialidad='Ginecología'
DELETE FROM doctores
WHERE id = '1549'
Tabla para rellenar
id_registro operación usuario_cambio host_log fecha_modificacion tabla_modificacion
01 Insertar root localhost 14/05/2024 doctores
02 Insertar root localhost 14/05/2024 doctores
03 Insertar root localhost 14/05/2024 doctores
04 Insertar root localhost 14/05/2024 doctores
05 Insertar root localhost 14/05/2024 doctores
06 Actualizar root localhost 14/05/2024 doctores
07 Actualizar root localhost 14/05/2024 doctores
08 Eliminar root localhost 14/05/2024 doctores