2.4 Instalación del SGBD en modo transaccional

 2.4 Instalación del SGBD en modo transaccional.

Una base de datos en modo transaccional significa que la BD será capaz de que las operaciones de inserción y actualización se hagan dentro de una transacción, es un componente que procesa información descomponiéndola de forma unitaria en operaciones indivisibles, llamadas transacciones, esto quiere decir que todas las operaciones se realizan o no, si sucede algún error en la operación se omite todo el proceso de modificación de la base de datos, si no sucede ningún error se hacen toda la operación con éxito.

Una transacción es un conjunto de líneas de un programa que llevan insert o update o delete. Todo aquél software que tiene un log de transacciones (que es la "bitácora" que permite hacer operaciones de commit o rollback), propiamente es un software de BD; aquél que no lo tiene (v.g. D-Base), propiamente no lo es. Todo software de base de datos es transaccional; si el software de la BD no es "transaccional", en realidad NO es un "software" de BD; en todo caso, es un software que emula el funcionamiento de un verdadero software de BD. Cada transacción debe finalizar de forma correcta o incorrecta como una unidad completa. No puede acabar en un estado intermedio.

Se usan los siguientes métodos:

Begin TRans para iniciar la transacción 

El siguiente es el camino equivocado para utilizar las transacciones:

$DB -> BeginTrans (); 
$DB -> Execute ( "update table1 set val=$val1 where id=$id" ); 
$DB -> Execute ( "update table2 set val=$val2 where id=$id" );
 $DB -> CommitTrans ();



Porque no se realiza ninguna comprobación de errores. Es posible actualizar tabla1 y para la actualización en tabla2 falle. Aquí es una mejor manera:

$DB -> BeginTrans (); 
$ok = $DB -> Execute (“update table1 set val=$val1 where id=$id"); 
if ( $ok ) $ok = $DB -> Execute ( "update table2 set val=$val2 where id=$id" );
 if ( $ok ) $DB -> CommitTrans (); 
else $DB -> RollbackTrans ();


*  CommitTrans para efectuar los cambios con éxito

Guarda los cambios realizados dentro de una transacción abierta en la conexión y termina la transacción. Finalizar una transacción con éxito. Devuelve verdadero si tiene éxito. Si la base de datos no admite transacciones, devolverá cierto también que los datos siempre se han comprometido. Si pasa el parámetro $ ok = false, los datos se deshace.

*  RollbackTrans para deshacer los cambios

Finalizar una transacción, deshacer todos los cambios. Devuelve verdadero si tiene éxito. Si la base de datos no admite transacciones, devolverá falso como datos nunca se rollback.
Y depende que base de datos uses para efectuar las operaciones pero, es la misma teoría para cualquier BD.
Una vez que se sabe la forma de ingresar comandos, es el momento de acceder a una base de datos.

Suponga que en su hogar posee varias mascotas y desea registrar distintos tipos de información sobre ellas. Puede hacerlo si crea tablas para almacenar sus datos e introduce en ellas la información deseada. Entonces, podrá responder una variedad de preguntas acerca de sus mascotas recuperando datos desde las tablas. Los pasos serían:

- Crear una base de datos
- Crear una tabla
- Introducir datos en la tabla
- Recuperar datos desde la tabla de varias maneras
- Emplear múltiples tablas

La base de datos menagerie (palabra inglesa que en español significa "colección de animales") se ha hecho deliberadamente simple, pero no es difícil imaginar situaciones del mundo real donde podría usarse un tipo similar de base de datos. Por ejemplo, para un granjero que desee hacer el seguimiento de su hacienda, o para los registros de los pacientes de un veterinario.





Comentarios