Base de datos

Solo disponible en BuenasTareas
  • Páginas : 12 (2990 palabras )
  • Descarga(s) : 0
  • Publicado : 29 de abril de 2011
Leer documento completo
Vista previa del texto
Curricular: Bases de Datos II Tema II

Tema 2: Transacciones 2.1 Transacciones, operaciones de lectura y escritura, y bufers del SGBD Una transacción es una unidad lógica de procesamiento de la base de datos que incluye una o más operaciones de acceso a la base de datos, que pueden ser de inserción, eliminación, modificación o recuperación. Las operaciones de la base de datos que forman unatransacción pueden estar insertadas dentro de un programa de aplicación o pueden especificarse interactivamente a través de un lenguaje de consulta de alto nivel como SQL. Una forma de especificar los límites de las transacciones es mediante las sentencias explícitas begin transaction (comenzar transacción) y end transaction (terminar transacción) en un programa de aplicación; en ese caso, todas lasoperaciones de acceso a la base de datos entre ambas, se consideran parte de una misma transacción. Un programa de aplicación sencillo puede contener más de una transacción si contiene varios delimitadores de transacci6n. Si las operaciones de la base de datos en la transacción no actualizan la base de datos, sino que solo recuperan datos, la transacción se denomina transacción de solo lectura. Elmodelo de base de datos que se utiliza para explicar los conceptos del procesamiento de transacciones esta muy simplificado. Una base de datos se representa básicamente mediante una colección de elementos de datos con nombre. El tamaño de un elemento de datos se denomina granularidad y puede ser un campo de un registro de la base de datos o puede ser una unidad mayor como un registro o incluso unbloque de disco completo. Sin embargo, los conceptos que explicamos son independientes de la granularidad del elemento de los datos. Utilizando este modelo de base de datos simplificado las operaciones básicas de acceso a la base de datos que una transacción puede incluir son: • • leer_elemento(X): lee un elemento de la base de datos llamado X y lo coloca en una variable de programa. Parasimplificar nuestra notación, supondremos que la variable de programa también se llama X. escribir_elemento(X): escribe el valor de la variable de programa X en el elemento de la base de datos llamado X.

Un bloque es la unidad básica de transferencia de datos del disco a la memoria principal del computador. La ejecución de una instrucción leer _elemento(X) incluye los siguientes pasos: 1. Encontrar ladirección del bloque de disco que contiene el elemento X. 2. Copiar ese bloque de disco en un almacenamiento intermedio (búfer) dentro de la memoria principal (si es que ese bloque no está ya en algún búfer de la memoria principal). 3. Copiar el elemento X del almacenamiento intermedio en la variable de programa llamada X.

Universidad Bolivariana de Venezuela Dirección General Académica PFG.Informática para la Gestión Social Unidad Curricular: Bases de Datos II Tema II

La ejecución de una instrucción escribir_elemento(X) inc1uye los siguientes pasos: 1. Encontrar la dirección del bloque del disco que contiene el elemento X. 2. Copiar ese bloque de disco en un búfer dentro de la memoria principal (si es que ese bloque no esta ya en algún búfer de la memoria principal).
3. Copiarel elemento X desde la variable del programa llamada X en el lugar correcto dentro del búfer. 4. Almacenar el bloque actualizado desde el búfer al disco (ya sea de inmediato o en. algún momento posterior).

El paso 4 es el que de hecho actualiza la base de datos del disco. En algunos casos el búfer no se transfiere de inmediato al disco, por si fuera necesario hacer cambios adicionales en elbúfer; Por lo regular, la decisión de cuándo almacenar en disco un bloque modificado que esté en un búfer de la memoria principal corresponde al gestor de recuperación del SGBD en cooperación con el sistema operativo subyacente. El SGBD generalmente mantendrá un número de bufers en la memoria principal que contienen bloques de disco con los elementos de la base de datos que se están procesando....
tracking img