Está en la página 1de 4

Base de Datos II

Tarea : Seguridad y protección de las bases de datos

Actividades

1. ¿Qué es una transacción?

La transacción es un conjunto de ordenes llevadas a cabo en la ejecución


de un programa, en donde se acceden o cambian el contenido de una base de
datos.

Propiedades de las transacciones - ACID

Atomicidad: La atomicidad en la transacción es la propiedad que se ocupa de


asegurar que la operación sea realizada o viceversa que no sea efectuado.
Consistencia: La consistencia es donde se ejecutan las operaciones que no van
a violar las reglas de integridad en la base de datos.
O sea es donde los datos son consistentes y no van a romper las reglas de
integridad en una base de datos.
Aislamiento: El aislamiento es donde se asegura que una operación no puede
afectar a otras operaciones. Esto facilita la realización de dos transacciones sobre
una misma información y que no muestre errores.
Durabilidad: Esta propiedad dice que una vez realizada la operación esta
persistirá y no se podrá deshacer a aunque falle el sistema.

Esquema de la transición de estados en una transacción

Fin de la
Parcialmente
Leer comprometida Confirmar Comprometida
Transacción
Escribir

Activa
Abortar

Abortar Abortada
Fallida

Inicio de

Transacción

Confirmar = Commit

Abortar = Rollback
2. ¿Qué es la concurrencia?

La concurrencia es cuando muchas transacciones acceden a la base de


datos de manera simultánea ósea al mismo tiempo.

¿Cuáles son los problemas comunes provocados por la concurrencia?

Los problemas surgen cuando las transacciones concurrentes se ejecutan


de manera no controlada, ocasionando errores.

La actualización perdida: es cuando dos transacciones en este caso T1 y T2


acceden a los mismos datos y por lo tanto tiene sus operaciones intercaladas, de
este modo hacen incorrecto el valor de algún dato que está en esa transacción
.
La actualización temporal: sucede cuando una transacción (T1) actualiza un
elemento dentro de la base de datos y luego falla en dicha actualización, pero
antes de que se restaure el valor original del elemento especifico, otra transacción
en este caso una transacción nueva (T2) tiene el acceso al elemento en cuestión
de la transacción uno, esto ocasiona la creación de un dato sucio en la Base de
Datos.

El resumen incorrecto: Esto sucede cuando una transacción T3 hace un


resumen de varios registros, mientras que al mismo tiempo otras transacciones
actualizan sus registros esto ocasiona que T3 considere algunos registros antes
de ser actualizados y otros después, proporcionando al final un resumen
incorrecto.

La lectura no repetible: una transacción T4 hace lectura de un elemento dos


veces, y otra transacción T1 modifica dicho elemento entre la lectura hecha por la
transacción 4, entonces en este caso T4 recibe diferentes valores para el mismo
elemento.

3. Elabora un cuadro comparativo sobre la planificación, planificación serie,


planificación no serie, planificación seriable, planificación serializable.
Conceptos

Planificación: Una
planificación P de n
transacciones T1, T2...Tn es
un ordenamiento global de
las operaciones de cada una
de las transacciones que
respete el orden interno de
las operaciones dentro de
cada transacción.

Planificación en serie:
Esta planificación dice que Planificación no serie: La
para cada transacción T que planificación no serie es
participa en la planificación, cuando las operaciones de
las operaciones de T se las transacciones
ejecutan consecutivamente. concurrentes se ejecutan de
Ósea las operaciones de la manera intercalada.
transacción se ejecutan de
manera consecutiva uno
tras de otro sin que
intercalar operaciones de
Planificación serializable:
Es cuando una planificación
P (no serie) es equivalente a
alguna planificación en serie
del mismo conjunto de
transacciones.

Planificación no
Cuadro comparativo sobre los diferentes tipos de planificaciones
serializable: Esto ocurre
cuando no es equivalente a
Planificación de transacciones ninguna planificación
Planificación serie en
serie.
PA: I1(X); e1(X); I1(Y); e1(Y); c1; I2(X); e2(X); c2; PA: I1(X); e1(X); I1(Y); e1(Y); c1; I2(X); e2(X); c2;

PB: I2(X); e2(X); c2; I1(X); e1(X); I1(Y); e1(Y); c1; PB: I2(X); e2(X); c2; I1(X); e1(X); I1(Y); e1(Y); c1;

PC: I1(X); I2(X); e1(X); I1(Y); e2(X); c2; e1(Y); c1;


Planificación no serie
PD: I1(X); e1(X); I2(X); e2(X); c2; I1(Y); e1(Y); c1;
PC: I1(X); I2(X); e1(X); I1(Y); e2(X); c2; e1(Y); c1;
PE: I1(X); e1(X); I2(X); e2(X); c2; I1(Y); r1;
PD: I1(X); e1(X); I2(X); e2(X); c2; I1(Y); e1(Y); c1;

4. Explica con tus palabras la construcción del Grafo de Precedencia.

Como su nombre lo dice trata sobre un grafo orientado cuyo conjunto de


vértices es el conjunto de transacciones y existe en arco entre Ti y Tj precede a Tj.

• Un grafo es dirigido G = (N, A)


• N es el conjunto de los nodos y A son las aristas dirigidas
Algoritmo del grafo:

 Se crea un nodo por cada transacción Ti en P


 Al mismo tiempo se crea una arista Tj Tk, en donde Tk lee el valor de un
elemento después de que Tj lo haya escrito
 Después se crea una arista Tj Tk, Tk escribe un elemento después de que
Tj lo haya leído
 Por último se crea una arista Tj Tk, en este caso Tk escribe un elemento
después de que Tj lo haya escrito

Ejemplo de grafo de procedencia


Tj Tk

T1 T4 T6

T3
T7
T2 T5
T8

5. Explica con tus palabras la Técnica de Control de Concurrencia “Método


de Bloqueo”.

Los bloqueos son usados para controlar el acceso concurrente de los datos
que están almacenados en una base de datos y tiene varias técnicas que a
continuación se va a detallar de que tratan.

Reglas básicas de Bloqueos:

Bloqueo compartido: si en una transacción existe este tipo de bloqueo, solo se


permite leer el elemento bloqueado y no permite la actualización de este.

Bloqueo exclusivo: el bloqueo exclusivo proporciona acceso exclusivo sobre el


elemento, pudiendo leer y actualizar (escribir) el elemento en cuestión.

También podría gustarte