P. 1
smbd

smbd

4.0

|Views: 12,703|Likes:
Published by api-3800751

More info:

Published by: api-3800751 on Oct 18, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

03/18/2014

pdf

text

original

Las bases de datos están expuestas a problemas como fallas
en comunicaciones, falla del ups. En estos casos, que no son
muy repetitivos pero que suceden en ambientes reales es
necesario proteger los datos.
Las bases de datos manejan este problema con las llamadas
transacciones y las propiedades ACID.
Una transacción es un grupo de instrucciones sql que se
manejan en forma atómica, como una sola unidad de trabajo,
la atomicidad permite que las transacciones se ejecuten en su
totalidad o no se ejecuta nada, esto permite que los datos se
mantengan consistentes.
Tanto Mysql como Oracle manejan transacciones y ACID.
El procedimiento almacenado utilizado para las pruebas en
Mysql es el siguiente:
DELIMITER $$
DROP PROCEDURE IF EXISTS `salud`.`spCreaCliente2`
$$
CREATE PROCEDURE `spCreaCliente2`()
BEGIN
DECLARE CTR INTEGER;
DECLARE ch1 CHARACTER(30);
DECLARE ch2 CHARACTER(30);
Start transaction;
set CTR = 1;
set ch1 = 'djburbano[arroba]hotmail.com';

set ch2 = '2439481';
WHILE CTR<= 3000000 DO
insert into salud.clientes values (ctr,'sierra','av
granados',ch2,ch1,'T','0501890255');
SET CTR = CTR + 1;
END WHILE;
END $$
DELIMITER ;
Al ejecutar el procedimiento almacenado spCreaCliente2, el
momento en que termina el proceso se realiza un commit
automático y los datos están consistentes y son permanentes,
pero si en el transcurso de la ejecución se apaga el equipo, no
se procesa ninguna inserción.
En oracle es de manera similar, la transacción empieza con
el primer DML ejecutado y finaliza con alguno de los
siguientes eventos:
o Si una sentencia Commit o Rollback es utilizado.
o Si una sentencia DDL o DCL que tiene commit automático es
ejecutada.
o Si el usuario sale del iSql*Plus (rollback automático)
o Por una caída del sistema. (rollback automático)

El procedimiento almacenado utilizado para las pruebas en
Oracle es el siguiente:
CREATE OR REPLACE PROCEDURE
SP_CREACLIENTESORA2 is
BEGIN
FOR i IN 1..1000 LOOP
insert into clientes values
(i,'sie','dici','243941','dja[arroba]hotmail.com','T','050189025
5', LOCALTIMESTAMP);
END LOOP;
ENd;
Al ejecutar el procedimiento almacenado
SP_CREACLIENTESORA2, el momento en que termina el
proceso se realiza un commit automático y los datos están
consistentes y son permanentes, pero si en el transcurso de la
ejecución se apaga el equipo, no se procesa ninguna
inserción, se realizó un roolback.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->