martes, 13 de noviembre de 2012

Integridad y Concurrencia de una Base de Datos

2.  Integridad  y Concurrencia de una Base de Datos

La integridad implica asegurarse de que la información contenida en la base de datos este correcta de be verificar que las transacciones que realicen los usuarios autorizados para ello, cumplan con unas precondiciones y postcondiciones que manténganla base de datos en un estado valido.

La integridad se puede clasificar en:
Integridad de dominio: significa que debemos velar porque cada valor o instancia de un atributo este en el dominio o conjunto de valores posibles para ese atributo.
El dominio puede ser:
-Continuo: se 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áticos: No varían con el tiempo. Ejemplos: el sexo


Para velar por la integridad de dominio podemos apoyarnos en el tipo de datos que le asociemos a cada atributo y en las funciones de chequeos que se puedan definir con el DBMS utilizado. Cuando tengamos atributos con dominio dinámico y discreto lo más aconsejable para velar por la integridad de dominio, consiste en crear tablas de referencia y luego se crean restricciones de clave foránea. Cuando se trate de un dominio dinámico y continuo, se pueden definir variables dentro de paquetes que se usan dentro de disparadores o triggers.

 

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 y no nulo denominado clave primaria en el 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.
Otros identificadores únicos, que no se reconocen en el modelo E-R extendido por Barker, se convierten en claves candidatas en el modelo relacional y se vigilan con la restricción UNIQUE cuando se define una relación o tabla.
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 (o conjunto de datos) de referencia es llamado clave foránea y es clave primaria en otra entidad.
No todos los DBMS nos permiten definir la integridad referencial en el momento de creación de una tabla, a través de la cláusula FOREIGN KEY que se añade al atributo que es una clave foránea. Entonces, en ese caso, es necesario crear una pieza de código o trigger que permita definir la regla de integridad necesaria.
Adicionalmente, se debe definir de antemano cómo vamos a proceder cuando se deba eliminar o actualizar cuando existe una clave foránea.
 
 

No hay comentarios:

Publicar un comentario