jueves, 6 de junio de 2013

asegurabilidad de información B.D


ASEGURABILIDAD DE INFORMACIÓN EN LA BASE DE DATOS 
Lo primero que hay que hacer es abrir la base de datos

Después no vamos a la pestaña “DATOS EXTERNOS” de la pestaña exportar y “EXCEL”.
Damos cli en el vemos que no muestra un cuadro de dialogo en donde configuramos nombre y dirección de la exportacion
En mi caso yo escojo la dirección de mi memoria y aceptamos
Después de esto aparecerá un cuadro de dialogo que nos muestra la confirmación de que se ha exportado correctamente cerramos y listo.
No vamos a la ubicación donde guardaron la tabla de Excel y abrimos
Al abrir podemos ver que los registros se han grabado correctamente respetando los tipos de campos
Listo la exportación de nuestra base de datos de Access a una tabla de Excel.
ADMINISTRACION

Administración se encarga de una organización, con el fin de obtener el máximo beneficio posible; este beneficio puede ser económico o social, dependiendo de los fines perseguidos por la organización.
¿Qué es una transacción?

Una transacción en un Sistema de Gestión de Bases de Datos (SGBD), es un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atómica.
Un SGBD se dice transaccional, si es capaz de mantener la integridad de los datos, haciendo que estas transacciones no puedan finalizar en un estado intermedio. Cuando por alguna causa el sistema debe cancelar la transacción, empieza a deshacer las órdenes ejecutadas hasta dejar la base de datos en su estado inicial (llamado punto de integridad), como si la orden de la transacción nunca se hubiese realizado.
Para esto, el lenguaje de consulta de datos SQL (Structured Query Language), provee los mecanismos para especificar que un conjunto de acciones deben constituir una transacción.
BEGIN TRAN: Especifica que va a empezar una transacción.
COMMIT TRAN: Le indica al motor que puede considerar la transacción completada con éxito.
ROLLBACK TRAN: Indica que se ha alcanzado un fallo y que debe restablecer la base al punto de integridad


Protocolo de bloqueo en dos fases
En él, todas las operaciones de bloqueo preceden a la primera operación de desbloqueo de la transacción. El proceso se puede así dividir en dos fases; la fase de bloqueo y de desbloqueo. Si se permite la conversión entre bloqueos, las conversiones de bloqueos de lectura a bloqueos de escritura son en la primera fase y las de bloqueos de escritura a lectura en la segunda.
         Cualquier transacción que después de liberar un bloqueo adquiere otro siempre corre el riesgo de producir resultados incorrectos. Esto es, siempre es posible definir una segunda transacción que pueda ejecutarse concurrentemente con la primera de manera tal que la ejecución intercalada o concurrente de ambas no sea serializadle y por ende no correcta. Se define el siguiente teorema:
Teorema: Si todas las transacciones obedecen las siguientes reglas:
a) Antes de operar sobre cualquier objeto la transacción debe adquirir primero un bloqueo sobre ese objeto; y
b) Después de liberar un bloqueo la transacción no adquiere ningún otro bloqueo  Entonces, todas las ejecuciones intercaladas de esas transacciones son serializadles.
         Una transacción que obedece las reglas a) y b) se dice que satisface el protocolo de bloqueo en dos fases. Las dos fases son una fase creciente durante la cual los bloqueos son adquiridos, y una fase decreciente durante la cual los bloqueos son liberados.

 Su principal ventaja es que garantiza la seriabilidad, lo que no se consigue usando simplemente bloqueos.
Como inconvenientes podemos citar varios:
• Bloquea los elementos que podrían ser desbloqueados tras su uso ocupado hasta la segunda fase, impidiendo que otras transacciones que los necesiten los utilicen. Esto hace que el rendimiento de este protocolo se degrade conforme aumenta el grado de concurrencia;
• No permite todos los planes serializables posibles.
• La implementación de este este bloqueo depende del programador, que puede no realizar su tarea convenientemente.



Bloqueo en dos fases básicas, conservadoras, estrictas y rigurosas

Son variaciones del bloqueo en dos fases. Se detallan a continuación:
Conservador o estático
    Requiere que una transacción bloquee todos los elementos a los que tendrá acceso antes decomenzar a ejecutarse. Una vez bloqueados, no habrá conversión de bloqueos de lectura a escritura.
     Si no es posible bloquearlos todos, la transacción no bloqueará nada y esperará a poder bloquear todos los elementos necesarios en su totalidad.
Su principal ventaja es que no sólo garantiza la seriabilidad, sino que evita el interbloqueo de transacciones.
   Como principal inconveniente, en la práctica, es muy difícil saber quéelementos serán necesarios durante la transacción antes de que esta comience, si no imposible. es interesante destacar que, al tener que esperar a poder bloquear todos los elementos que la transacción necesite, este protocolo reduce la concurrencia.

Estricto
    La transacción no libera ninguno de sus bloqueos de escritura antes de confirmarse o abortar.
     Este tipo de bloqueo garantiza planes estrictos en cuanto a recuperabilidad (recuperable es un plan que, una vez confirmada la transacción, no será necesaria deshacerla). Sin embargo, puede sufrir interbloqueos.

Riguroso
     Es una versión más restrictiva del estricto. Similar al anterior, pero además tampoco libera los bloqueos de lectura. Es más fácil de implementar.
recuperacion de informacion mediante transacciones



Protocolo de bloqueo en dos fases

En él, todas las operaciones de bloqueo preceden a la primera operación de desbloqueo de la transacción. El proceso se puede así dividir en dos fases; la fase de bloqueo y de desbloqueo. Si se permite la conversión entre bloqueos, las conversiones de bloqueos de lectura a bloqueos de escritura son en la primera fase y las de bloqueos de escritura a lectura en la segunda.
Cualquier transacción que después de liberar un bloqueo adquiere otro siempre corre el riesgo de producir resultados incorrectos. Esto es, siempre es posible definir una segunda transacción que pueda ejecutarse concurrentemente con la primera de manera tal que la ejecución intercalada o concurrente de ambas no sea serializable y por ende no correcta. Se define el siguiente teorema:
Teorema: Si todas las transacciones obedecen las siguientes reglas:
a) Antes de operar sobre cualquier objeto la transacción debe adquirir primero un bloqueo sobre ese objeto; y
b) Después de liberar un bloqueo la transacción no adquiere ningún otro bloqueo Entonces, todas las ejecuciones intercaladas de esas transacciones son serializables.
Una transacción que obedece las reglas a) y b) se dice que satisface el protocolo de bloqueo en dos fases. Las dos fases son una fase creciente durante la cual los bloqueos son adquiridos, y una fase decreciente durante la cual los bloqueos son liberados.


Su principal ventaja es que garantiza la seriabilidad, lo que no se consigue usando simplemente bloqueos.
Como inconvenientes podemos citar varios:
• Bloquea los elementos que podrían ser desbloqueados tras su uso ocupados hasta la segunda fase, impidiendo que otras transacciones que los necesiten los utilicen. Esto hace que el rendimiento de este protocolo se degrade conforme aumenta el grado de concurrencia;
• No permite todos los planes serializables posibles.
• La implementación de este este bloqueo depende del programador, que puede no realizar su tarea convenientemente.






Bloqueo en dos fases básico, conservador, estricto y riguroso


Son variaciones del bloqueo en dos fases. Se detallan a continuación:
Conservador o estático
Requiere que una transacción bloquee todos los elementos a los que tendrá acceso antes decomenzar a ejecutarse. Una vez bloqueados, no habrá conversión de bloqueos de lectura a escritura.
Si no es posible bloquearlos todos, la transacción no bloqueará nada y esperará a poder bloquear todos los elementos necesarios en su totalidad.
Su principal ventaja es que no sólo garantiza la seriabilidad, sino que evita el interbloqueo de transacciones.
Como principal inconveniente, en la práctica, es muy difícil saber quéelementos serán necesarios durante la transacción antes de que esta comience, si no imposible. es interesante destacar que, al tener que esperar a poder bloquear todos los elementos que la transacción necesite, este protocolo reduce la concurrencia.


Estricto
La transacción no libera ninguno de sus bloqueos de escritura antes de confirmarse o abortar.
Este tipo de bloqueo garantiza planes estrictos en cuanto a recuperabilidad (recuperable es un plan que, una vez confirmada la transacción, no será necesaria deshacerla). Sin embargo, puede sufrir interbloqueos.


Riguroso
Es una versión más restrictiva del estricto. Similar al anterior, pero además tampoco libera los bloqueos de lectura. Es más fácil de implementar.

recuperacipón de información mediante transacciones


La Recuperación de Transacción es el proceso de borrar los efectos indeseados de transacciones específicas de la base de datos.
La Recuperación de Transacción vence los defectos de recuperación tradicionales eliminando el tiempo de indisponibilidad y evitando la pérdida de datos buenos. La Recuperación de Transacción es “el proceso de borrar los efectos indeseados de transacciones específicas de la base de datos”. La recuperación tradicional está en el nivel de objeto de base de datos: por ejemplo, en el espacio de datos, espacio de mesa o nivel de índice. Realizando una recuperación tradicional, un objeto de base de datos específico es elegido. Entonces, una copia de seguridad de aquel objeto es aplicada, seguida volviendo a aplicar entradas de registro para cambios que ocurrieron después de que la copia de imagen fue tomada. Recuerde que todos los cambios hechos a una base de datos relacional son capturados en el registro de base de datos. De este modo, si los detalles de cambio pueden ser leídos del registro, la recuperación puede ser conseguida invirtiendo el impacto de los cambios registrados.




Manejo de concurrencia


Definición de concurrencia

procesos sean ejecutados al mismo tiempo, y que potencialmente puedan interactuar entre sí.

Los procesos concurrentes pueden ser ejecutados realmente de forma simultánea, sólo cuando cada uno es ejecutado en diferentes procesadores. En cambio, la concurrencia es simulada si sólo existe un procesador encargado de ejecu
tar los procesos concurrentes, simulando la concurrencia, ocupándose de forma alternada en uno y otro proceso a pequeñísimos intervalos de tiempo. De esta manera simula que se están ejecutando a la vez.

Técnicas de bloqueo 

Las técnicas más empleadas para controlar el acceso concurrente de las transacciones se basan en el concepto de bloquear elementos de datos. Un bloqueo corresponde a una variable asociada al
gránulo que describe las operaciones que se pueden realizar sobre él.


☼Seriabilidad con el bloqueo en dos frases

Cuando se utiliza el protocolo de bloqueo en dos fases, puede demostrarse que la ejecución será serializable.

Bloqueo de dos fases (2PL)El algoritmo 2PL utiliza bloqueos de lectura y escritura para prevenir conflictos entre operaciones. Consiste en los siguientes pasos para una transacción T:

Obtiene bloqueo de lectura para un elemento L (bloqueo compartido)
Obtiene bloqueo de escritura para un elemento E (bloqueo exclusivo)
Lee el elemento L
Escribe en el elemento E
Libera el bloqueo de L
Libera el bloqueo de ELas reglas básicas para manejar los bloqueos son: transacciones distintas no pueden tener acceso simultáneamente a un elemento (lectura-escritura o escritura-escritura), y una vez se libere un bloqueo no se puede pedir otro, es decir, los bloqueos de la transacción crecerán mientras no libere ninguno y luego de liberar alguno solo puede liberar los demás.
Ejemplos del algoritmo 2PL son

La básica en la que se sigue el esquema previamente explicado con la variante que el bloqueo de escritura se pide para todas las copias del elemento.
2PL de copia primaria: en vez de pedir bloqueo para cada copia del elemento de escritura se le pide a una copia primaria o principal.
2PL de voto: se pide a todos los nodos que voten para ver si se concede el bloqueo.
2PL centralizado: el manejador de bloqueos está centralizado y todas las peticiones de bloqueo las maneja el.Antes de implementar un algoritmo de control de concurrencia 2PL es necesario considerar distintos factores como cual es la unidad atómica más pequeña que el sistema permite bloquear, cual es el intervalo de sincronización para todas las copias de un elemento, donde se deben colocar las tablas con la información de los bloqueos y por último que tan probable es que ocurra por los factores anteriores un bloqueo mutuo.

Time-stampCada transacción realizada se le asigna un timestamp (literalmente: sello de tiempo) único en el nodo que se originó. Este sello se adjunta a cada petición de lectura y escritura. En el caso de que se dé un conflicto de que dos operaciones de escritura traten de acceder al mismo elemento, este se resuelve serializandolo respecto a los sellos que tengan. A pesar de que existen varios algoritmos de control de concurrencia basados en timestamps, muy pocos son utilizados en aplicaciones comerciales. Esto es en gran parte porque se requiere que el sistema distribuido cuente con un reloj sincronizado que es raro que se tenga implementado.