lunes, 14 de octubre de 2013

BITÁCORA EN BASE DE DATOS

  • Que es una Bitácora:

Herramienta que permite registrar, analizar, detectar y notificar eventos que sucedan en cualquier sistema de información utilizado en las organizaciones. La estructura más ampliamente usada para grabar las modificaciones de la base de datos.

  • Cual es la importancia de las llaves foráneas


recuperar información ante incidentes de cual es la seguridad, detección de comportamiento importancia de inusual, información ? para resolver una bitácora problemas, evidencia legal, es de gran ayuda en las tareas de cómputo forense
 Permite guardar las transacciones realizadas sobre una base de datos en especifico, de tal manera que estas transacciones puedan ser auditadas y analizadas posteriormente.Pueden obtenerse datos específicos de la transacción como son la Operación que se realizo, el Usuario de BD yWindows, Fecha, Maquina y Programa.
 Alertas Registro y envío de notificaciones al momento en que se produzca un evento de modificación de datos en los sistemas de acuerdo a los criterios definidos por el usuario.Envió de las notificaciones al correo electrónico de los usuarios especificados para cada alerta, con posibilidad de envío de mensaje a un teléfono móvil.

Estrucutura de la Bitacora
La  estructura más ampliamente usada para grabar las modificaciones de la base de datos es la Bitácora.
Cada registro de la bitácora escribe una única escritura de base de datos y tiene lo siguiente :
  1. Nombre de la transacción : Nombre de la transacción que realizó la operación de escritura.
  2. Nombre del dato : El nombre único del dato escrito.
  3. Valor antiguo : El valor del dato antes de la escritura.
  4. Valor nuevo : El valor que tendrá el dato después de  la escritura.
Existen otros registros de bitácora especiales para grabar sucesos importantes durante el proceso de transacción tales como :
< T1, inicio >
< T1, x, v1, v2 >
< T1, commit >
Es fundamental que siempre se cree un registro en la bitácora cuando se realice una escritura antes de que se modifique la base de datos.
También tenemos la posibilidad de deshacer una modificación que ya se ha escrito en la base de datos, esto se realizará usando el campo del valor antiguo de los registros de la bitácora.
Los registros de la bitácora deben residir en memoria estable como resultado el volumen de datos en la bitácora puede ser exageradamente grande.


Enseguida plantearé un ejemplo deuna bitácora desarrollada para lasiguiente base de datos de MySQL.

 CREATE DATABASE proyecto;USE proyectoCREATE TABLE IF NOT EXISTS `carrera` (`clave_carrera` int(11) NOT NULL,`nom_carrera` varchar(20) NOT NULL, `num_depto` int(11) NOT NULL, PRIMARY KEY(`clave_carrera`), KEY `num_depto` (`num_depto`) ) ENGINE=InnoDB DEFAULTCHARSET=latin1;CREATE TABLE IF NOT EXISTS `departamento` ( `num_departamento` int(11) NOTNULL,`nombre_dept` varchar(20) NOT NULL, `jefe_num_tarjet` int(11) NOT NULL,PRIMARY KEY (`num_departamento`), KEY `jefe_num_tarjet` (`jefe_num_tarjet`) )ENGINE=InnoDB DEFAULT CHARSET=latin1;CREATE TABLE IF NOT EXISTS `maestros` (`num_tarjeta` int(11) NOT NULL DEFAULT’0′,`nombre` varchar(50) DEFAULT NULL, PRIMARY KEY (`num_tarjeta`))ENGINE=InnoDB DEFAULT CHARSET=latin1;

 La estructura de la tabla bitácora sería la siguiente:La estructura de la tabla bitácora sería la siguiente:CREATE TABLE IF NOT EXISTS `bitacora` (`id` int(11) NOT NULL AUTO_INCREMENT,`operacion` varchar(10) DEFAULT NULL, `usuario` varchar(40) DEFAULT NULL,`host` varchar(30) NOT NULL, `modificado` datetime DEFAULT NULL, `tabla`varchar(40) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULTCHARSET=latin1 AUTO_INCREMENT=1 ;

No hay comentarios:

Publicar un comentario