jueves, 15 de noviembre de 2012

Integridad y Concurrencia

INTEGRIDAD

En una Base de Datos, cuando hablamos de integridad nos referimos directamente a que los datos junto con la información contenida en la base de datos este correcta. Se  debe verificar que las transacciones  que  realicen  los  usuarios autorizados para ello, cumplan con unas pre-condiciones o pos-condiciones que mantengan la base de datos en un estado válido.



1.      La integridad se puede clasificar en:

Integridad de dominio: significa que debemos velar porque cada valor o instancia de unatributo esté en el dominio o conjunto de valores posibles  para ese atributo


El dominio puede ser:


-      ContinuoSe dice que un atributo tiene un dominio continuo cuando toma cualquier valor en un rango dado.   Ejemplos:   el peso de un producto, el tiempo de calentamiento y la demanda de energía.

-      Discreto: se dice que un atributo tiene un dominio discreto cuando puede tomar
valores de una lista dada.   Ejemplos:   el estado civil, el sexo, la profesión y la dependencia donde trabaja un empleado.

El dominio también puede subdividirse en:

-          Dinámico: Se caracteriza porque puede variar a través del tiempo.   Ejemplo:
Dependencia, sueldo.

-   Estático: No varían con el tiempo.  Ejemplos:  el sexo (hay casos excepcionales) o la
Cédula.

2.    Integridad de entidad:  Este tipo de integridad vigila que toda instancia de una entidad se distinga de   las demás, inequívocamente. Las entidades dentro de una base de datos corresponden a entidades del mundo real donde sus instancias son completamente diferenciables; por ello, cada instancia debe poseer  un  identificador  único   no  nulo  denominado  clave  primaria  e e modelo relacional.  El  mecanismo  empleado  por  casi  todos los DBMS para garantizar la integridad de entidad es la restricción impuesta a los atributos que forman parte del identificador único de la entidad con la cláusula PRIMARY KEY cuando se define una tabla.


3.    Integridad Referencial:  Este tipo de integridad vigila que un dato que sirva de referencia en una relación o tabla del modelo relacional, de verdad exista en la tabla referenciada. El dato (oconjunto de datos) de referencia es llamado clave foránea  y es clave primaria en otra entidad.

4.  Integridad Definida por el Usuario son reglas establecidas por el propio diseñador de labase de datos y que corresponden a políticas o normas de la empresa.

Algunas de estas reglas se pueden especificar en la base de datos, sin tener que definirlas en las aplicaciones.  Esto sería lo ideal no sólo para velar por la integridad de la base de datos, sin importar el ambiente desde el cual se esté teniendo acceso a la base de datos, sino por la reutilización de código que además permite una mayor adaptabilidad del sistema a los cambios organizacionales.

CONCURRENCIA

Las bases de datos relacionales poseen un sistema de manejo de concurrencia, que permite quemúltiples usuarios compartan los mismos recursos al mismo tiempo.  Los recursos son objetos dela base de datos.


Los objetivos de un sistema de concurrencia son:

 Que el acceso a los objetos en forma simultánea, por los usuarios, sea coordinado.

 Consistencia de los datos:  Un usuario siempre debe tener una vista consistente de los datos que está manipulando.

Cuando varias transacciones son ejecutadas concurrentemente en una base de datos compartida, sus ejecuciones deben ser sincronizadas. Esto es, el efecto de una transacción debe ser el mismo que sería si no existiera ninguna otra transacción que se   estuviera   ejecutando   concurrentemente.   El   efecto   de   ejecutar   varias transacciones al tiempo, debe ser elmismo que si fueran ejecutadas   en serie con algún orden. Si esto se puede lograr, se dice que las transacciones son serializables.


No hay comentarios:

Publicar un comentario