Integridad
La integridad en una base de datos es la corrección y exactitud
de la información que posee la misma. Además de ello, busca la seguridad en un
sistema de bases de datos que permita el acceso a múltiples usuarios en tiempos
paralelos.
Las condiciones que garantizan la integridad de los datos
pueden ser de dos tipos:
- Las restricciones de integridad de usuario: son condiciones específicas de una base de datos concreta que se deben cumplir con unos usuarios concretos.
- Las reglas de integridad de modelo: son condiciones propias de un modelo de datos, y se deben cumplir en toda base de datos que siga dicho modelo.
Los SGBD deben proporcionar la forma de definir
las restricciones de integridad de usuario de una base de datos y una vez
definida, procurar que se cumplan. Las reglas de integridad del modelo, en
cambio, no se deben definir para cada base de datos concreta, porque se
consideran preestablecidas para todas las base de datos de un modelo.
Reglas de Integridad.-
Regla de integridad de unicidad de la clave primaria
Hace referencia a que los valores de una clave primaria no
pueden repetirse entre los atributos de una misma tabla.
Regla de integridad de entidad de la clave primaria
La regla de integridad de entidad de la clave primaria
dispone que los atributos de la clave primaria de una relación no puede tener
valores nulos.
Regla de integridad referencial
La regla de integridad referencial está relacionada con el
concepto de clave foránea, lo que determina que todos los valores que toma una
clave foránea deben ser valores nulos o valores que existen en la clave
primaria que referencia.
Restricción
La restricción en caso de borrado, consiste en no permitir
borrar una tupla si tiene una clave primaria referenciada por alguna clave
foránea y la restricción en caso de modificación consiste en no permitir
modificar ningún atributo de la clave primaria de una fila si tiene una clave
primaria representada por alguna clave foránea.
Actualización en cascada
La actualización en cascada consiste en permitir la
operación de actualización de la tupla, y en efectuar operaciones que propaguen
en cascada la actualización a las tuplas que la referenciaban; se actúa de este
modo para mantener la integridad referencial.
Anulación
La anulación consiste en permitir la operación de
actualización de la tupla y en efectuar operaciones que pongan valores nulos a
los atributos de la clave foránea de las tuplas que la referencian; esta acción
se lleva a cabo para mantener la integridad referencial.
Concurrencia
El termino concurrencia se refiere al hecho de que los
DBMS (SISTEMAS DE ADMINISTRACION DE BD) permiten que muchas transacciones
puedan realizarse en una misma base de datos a la vez. Para este sistema se
necesita algún mecanismo de control para que las operaciones simultáneas no
interfieran entre sí.
Métodos de control de concurrencia
Protocolos basados en técnicas de bloqueo
Un bloqueo es una operación usada para restringir las
operaciones que se pueden aplicar sobre la base de datos. Existen varios
tipos de bloqueo: binarios, compartidos, exclusivos, y bloqueos de
certificación.
Bloqueos binarios
Poseen dos valores posibles, bloqueados y
desbloqueados. Cada elemento de la base de datos tiene un bloqueo
distinto. El bloqueo señala si una transacción está en ejecución sobre el
elemento o está libre para que se pueda operar con él.
Bloqueos de lectura/escritura
Puede tener tres posibles posiciones: libre, bloqueado
para lectura, y bloqueado para escritura. De esta forma, más de una transacción
puede tener un mismo elemento de datos bloqueado para lectura, pero sólo una
para escritura.
Problemas del bloqueo en dos fases: interbloqueo y
espera indefinida
El interbloqueo se produce cuando una transacción T1 está
esperando a algún elemento que está bloqueado por otra transacción T2. De esta
forma, cada transacción está parada en espera a que otra transacción libere el
recurso.
- Exclusión mutua.- Cada elemento está bloqueado o está libre por una transacción.
- Retención y espera.- Una transacción que ya ha bloqueado elementos puede solicitar un elemento adicional, y esperar que se le asigne, sin habilitar ninguno de los elementos anteriores.
- No apropiación.- La transacción sólo puede liberar un elemento que tenga asignado; no se lo puede quitar a otra transacción que tenga mayor prioridad.
- Espera circular.- Existe una cadena circular, compuesta por dos transacciones o más, y otros tantos elementos intercalados, de manera que cada proceso está esperando que se le asigne un elemento, el cual, a su vez, está asignado al siguiente proceso de la cadena.
- Bloqueo mutuo o deadlock.- Un proceso se encuentra en estado de deadlock si está esperando por un suceso que no ocurrirá nunca.
Okay
ResponderEliminarriico
ResponderEliminarOKKK..
ResponderEliminar