Manipulacin y control de concurrencia de una base de datos.
Son tcnicas que se utilizan para garantizar la ausencia de interferencias o
la propiedad de aislamiento de las transacciones que se ejecutan simultneamente. La mayora de estas tcnicas garantizan la serializacin de las planificaciones, utilizando protocolos. Un importante conjunto de protocolos emplea la tcnica del bloqueo de los elementos de datos para evitar que varias transacciones accedan concurrentemente a los elementos Otro conjunto de protocolos de control de la concurrencia utilizan las marcas de tiempo. Una marca de tiempo es un identificador nico generado por el sistema para cada transaccin. Los protocolos de control de la concurrencia que utilizan la ordenacin de marcas de tiempo para garantizar la serializacin Los protocolos de control de la concurrencia multiversin, que utilizan varias versiones de un elemento de datos, es decir este protocolo conserva los valores antiguos de un elemento de datos cuando es actualizado. Un inconveniente obvio de las tcnicas multiversin es que se necesita ms almacenamiento para conservar las distintas versiones de los elementos de la base de datos. No obstante, es posible tener que conservar de todos modos las versiones ms antiguas (por ejemplo, con fines de recuperacin). Adems, algunas aplicaciones de bases de datos requieren versiones ms antiguas a fin de conservar un histrico de la evolucin de los valores de los elementos de datos. Tambin entre estas tcnicas tenemos el protocolo basado en el concepto de validacin o certificacin de una transaccin, que no se ejecuta hasta despus de que haya realizado sus operaciones; estos protocolos se denominan a veces protocolos optimistas. Uno de los factores que afecta al control de la concurrencia es la granularidad de los elementos de datos (es decir, qu porcin de la base de datos es representada por un elemento de datos). Un elemento puede ser tan pequeo como el valor de un atributo (campo) o tan grande como un bloque de disco, o incluso un fichero entero o la base de datos entera. Otro los problemas que pueden surgir con el control de la concurrencia es cuando se utilizan los ndices para procesar las transacciones. Tambin existen problemas asociados con la insercin y eliminacin de registros, lo que se conoce como problema del fantasma. Integridad La integridad en una base de datos se refiere a la correccin y exactitud de la informacin contenida. Una base de datos determinada podra estar sujeta a cualquier cantidad de restricciones de integridad (en general) de una complejidad arbitraria. En la mayora de los sistemas actuales, la verificacin de la integridad se realiza mediante cdigos de procedimientos escritos por los usuarios. La Integridad es el trmino utilizado para decir que la informacin almacenada tiene calidad. El DBMS tiene que asegurar que los datos se
almacenan de acuerdo a las polticas previamente determinadas por el DBA.
En otras palabras, el DBMS debe principalmente, a este respecto, comprobar las restricciones de integridad, controlar la correcta ejecucin de las actualizaciones y recuperar la base de datos en caso de prdida. La Integridad conserva la seguridad en un sistema de bases de datos que permite el acceso a mltiples usuarios en tiempos paralelos. Reglas de Integridad Al definir cada atributo sobre un dominio se impone una restriccin sobre el conjunto de valores permitidos para cada atributo. A este tipo de restricciones se les denomina restricciones de dominio. Hay adems dos reglas de integridad muy importantes que son restricciones que se deben cumplir en todas las bases de datos relacionales y en todos sus estados o instancias (las reglas se deben cumplir todo el tiempo). Estas reglas son la de integridad de entidades y la de integridad referencial. Antes de definirlas es preciso conocer la definicin de nulo y dominio. Nulo: Es un indicador que le dice al usuario que el dato falta o no es aplicable. Por conveniencia, un dato que falta normalmente se dice que tiene valor Nulo, pero el valor de Nulo no es un valor de dato real. En vez de ello es una seal o un recordatorio de que el valor falta o es desconocido. Dominio: Posibles valores que puede tener un campo. Un dominio no es ms que un tipo de dato; posiblemente un tipo simple definido por el sistema o por el usuario. La regla de integridad referencial est relacionada con el concepto de clave fornea. Concretamente, determina que todos los valores que toma una clave fornea deben ser valores nulos o valores que existen en la clave primaria que referencia. La integridad de entidad define una fila como entidad nica para una tabla determinada. La integridad de entidad exige la integridad de las columnas de los identificadores o la clave principal de una tabla, mediante ndices y restricciones UNIQUE, o restricciones PRIMARY KEY. La clave primaria de una entidad no puede tener valores nulos y siempre deber ser nica. Redundancia La redundancia hace referencia al almacenamiento de los mismos datos varias veces en diferentes lugares. La redundancia de datos puede provocar problemas como: * Incremento del trabajo: como un mismo dato est almacenado en dos o ms lugares, esto hace que cuando se graben o actualicen los datos, deban hacerse en todos los lugares a la vez. * Desperdicio de espacio de almacenamiento: ya que los mismos datos estn almacenados en varios lugares distintos, ocupando as ms bytes del medio de almacenamiento. Este problema es ms evidente en grandes bases de datos.
* Inconsistencia de datos: esto sucede cuando los datos redundantes no son
iguales entre s. Esto puede suceder, por ejemplo, cuando se actualiza el dato en un lugar, pero el dato duplicado en otro lugar no es actualizado. Si una base de datos est bien diseada, no debera haber redundancia de datos (exceptuando la redundancia de datos controlada, que se emplea para mejorar el rendimiento en las consultas a las bases de datos). Copia de Seguridad y Restauracin de Datos. Una copia de seguridad, copia de respaldo o backup (su nombre en ingls) en tecnologas de la informacin e informtica es una copia de los datos originales que se realiza con el fin de disponer de un medio para recuperarlos en caso de su prdida. Las copias de seguridad son tiles ante distintos eventos y usos: recuperar los sistemas informticos y los datos de una catstrofe informtica, natural o ataque; restaurar una pequea cantidad de archivos que pueden haberse eliminado accidentalmente, corrompido, infectado por un virus informtico u otras causas; guardar informacin histrica de forma ms econmica que los discos duros y adems permitiendo el traslado a ubicaciones distintas de la de los datos originales; etc. El proceso de copia de seguridad se complementa con otro conocido como restauracin de los datos (en ingls restore), que es la accin de leer y grabar en la ubicacin original u otra alternativa los datos requeridos. Las diferentes causas de un fallo pueden ser como la cada del sistema y los errores de transaccin. Existen algunas tcnicas de recuperacin ante fallos en las transacciones. El objetivo principal de la recuperacin es garantizar la propiedad de la atomicidad de una transaccin. Si una transaccin falla antes de completar su ejecucin, el mecanismo de recuperacin debe asegurarse de que la transaccin no tiene efectos perdurables en la base de datos A continuacin, explicamos dos mtodos de recuperacin diferentes: actualizacin diferida y actualizacin inmediata. Las tcnicas de actualizacin diferida posponen cualquier actualizacin real de la base de datos en disco hasta que la transaccin alcanza su punto de confirmacin. La transaccin fuerza la escritura del registro del sistema en disco antes de grabar las actualizaciones en la base de datos. Las tcnicas de actualizacin inmediata pueden aplicar cambios en la base de datos en disco antes de que la transaccin termine satisfactoriamente. Cualquier cambio aplicado a la base de datos debe grabarse primero en el registro del sistema y escribirse en disco para que estas operaciones puedan deshacerse en caso necesario.