Unidad 4 y 5 taller de base de datos

Solo disponible en BuenasTareas
  • Páginas : 11 (2502 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de diciembre de 2010
Leer documento completo
Vista previa del texto
INDICE

=> INTRODUCCION ................................ ................................ ................................ ................................ 3 ........... =>CONTROL DE TRANSACCIONES ................................ ................................ ................................ ............... 4 * PROPIEDADES DE LA TRANSACCIÓN ................................................................ ................................ ....5 * GRADOS DE CONSISTENCIA ................................ ................................ ................................ ................... 6 * NIVELES DE AISLAMIENTO ................................ ................................ ................................ ...................... 7 * INSTRUCCIONES COMMIT Y ROLLBACK................................ ................................ ............................... 8 => CONCLUSION ................................ ................................ ................................ ................................ ............... 9 BIBLIOGRAFIA ................................ ................................ ................................ ............................................... 10

Página 2

Dirección General de Educación Superior Tecnológica Instituto Tecnológico de Tlaxiaco

[Escriba texto]

INTRODUCCION
TRANSACCIONES EN POSTGRESQL
Las transacciones son un concepto fundamental en todos los sistemas de base de datos, el punto esencial de una transacción es que engloba múltiples operaciones en un solo paso. Por ejemplo, considere la base de datos de unbanco que contiene balances para varias cuentas de clientes, supongamos que queremos registrar el pago de $100 desde la cuenta de Alice hacia la cuenta de Bob, las sentencias SQL a ejecutar para esta operación serian como la siguiente: UPDATE cuentas SET balance = balance – 100 WHERE nombre = ‘Alice’; UPDATE branches SET balance = balance – 100 WHERE nombre = (SELECT branch_name FROM cuentasWHERE nombre = ‘Alice’); UPDATE cuentas SET balance = balance + 100 WHERE nombre = ‘Bob’; UPDATE branches SET balance = balance + 100 WHERE nombre = (SELECT branch_name FROM cuentas WHERE nombre = ‘Bob’); Como se puede observar hay varias actualizaciones involucradas para terminar la operación, los operadores del bando deben estar seguros de que todas esas actualizaciones se ejecuten, o en caso defalla que ninguna se ejecute, ya que se podría dar el caso de que Bob reciba $100 sin que sean debitados de la cuenta de Alice, Agrupando las actualizaciones en una sola transacción se puede garantizar que en caso de un fallo ninguna actualización se ejecute. En PostgreSQL las transacciones se configuran simplemente encerrando en un bloque las operaciones que se desean incluir en la misma, el bloquedebe comenzar y terminar con los comandos BEGIN y COMMIT, por ejemplo: BEGIN; UPDATE cuentas SET balance = balance – 100 WHERE nombre = ‘Alice’; … COMMIT; Al momento que se le pasa a postgresql la cláusula COMMIT es cuando se escribe en base de datos las actualización u operación que se desea hacer en la misma, si en algún momento no queremos hacer COMMIT de alguna operación (quizás se nota que lacuenta de Alice da un balance negativo) entonces se puede utilizar la cláusula ROLLBACK y todas las actualizaciones dentro de la transacción se cancelaran. Si no se desea hacer un rollback completo de la transacción, entonces se pueden definir marcadores (savepoints) hasta los cuales se desea que se regrese en la transacción, ejemplo: BEGIN; UPDATE cuentas SET balance = balance – 100 WHERE nombre= ‘Alice’; SAVEPOINT marcador1; UPDATE cuentas SET balance = balance + 100 WHERE nombre = ‘Bob’; — se desea descartar la actualización para Bob y en vez hacerla para Wally — ROLLBACK TO marcador1; UPDATE cuentas SET balance = balance + 100 WHERE nombre = ‘Wally’; COMMIT; En el ejemplo anterior se vio el uso de Marcadores y Rollbacks, en este caso lo que paso es que se realizó una actualización...
tracking img