Integridad de Base de Datos

Anuncio
Integridad de Base de Datos
Una base de datos es una colección de datos relacionados. Con la palabra
"datos" nos referimos a los hechos conocidos que se pueden grabar y que
tienen un significado implícito.
La integridad en una base de datos se refiere a la corrección y exactitud de la
información contenida. Una base de datos determinada podría estar sujeta a
cualquier cantidad de restricciones de integridad (en general) de una
complejidad arbitraria. En la mayoría de los sistemas actuales, la verificación de
la integridad se realiza mediante códigos de procedimientos escritos por los
usuarios.
La Integridad es el término utilizado para decir que la información almacenada
tiene calidad. El DBMS tiene que asegurar que los datos se almacenan de
acuerdo a las políticas previamente determinadas por el DBA. En otras palabras,
el DBMS debe principalmente, a este respecto, comprobar las restricciones de
integridad, controlar la correcta ejecución de las actualizaciones y recuperar la
base de datos en caso de pérdida.
La Integridad conserva la seguridad en un sistema de bases de datos que
permite el acceso a múltiples usuarios en tiempos paralelos.
Reglas de Integridad
Una vez definida la estructura de datos del modelo relacional (es decir, una vez
que se determina el modelo conceptual) pasamos a estudiar las reglas de
integridad que los datos almacenados en dicha estructura deben cumplir para
garantizar que son correctos.
Al definir cada atributo sobre un dominio se impone una restricción sobre el
conjunto de valores permitidos para cada atributo. A este tipo de restricciones
se les denomina restricciones de dominio. Hay además dos reglas de integridad
muy importantes que son restricciones que se deben cumplir en todas las bases
1
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 el concepto 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 señal o
un recordatorio de que el valor falta o es desconocido.
Dominio: Posibles valores que puede tener un campo. Un dominio no es más
que un tipo de dato; posiblemente un tipo simple definido por el sistema o por
el usuario. El Dominio de un atributo define los valores posibles que puede
tomar este atributo. Además de los Dominios "naturales", usados como tipos de
datos, el administrador del sistema puede generar sus propios dominios
definiendo el conjunto de valores permitidos. Esta característica, usada en
forma correcta, se convierte en mecanismo de control, restricción y validación
de los datos a ingresar.
Restricciones Básicas
Las restricciones de los datos se imponen para asegurarnos que los datos
cumplen con una serie de condiciones predefinidas para cada tabla. Estas
restricciones ayudan a conseguir la integridad de referencia: todas las
referencias dentro de una BD son válidas y todas las restricciones se han
cumplido.
Las restricciones se van a definir acompañadas por un nombre, lo que permitirá
activarlas o desactivarlas según sea el caso; o también mezcladas en la
definiciones de las columnas de la tabla.
2
Not Null.
Establece la obligatoriedad de que esta columna tenga un valor no nulo. Se
debe especificar junto a la columna a la que afecta. Los valores nulos no
ocupan espacio, y son distintos a 0 y al espacio en blanco. Hay que tener
cuidado con los valores nulos en las operaciones, ya que 1 * NULL es igual a
NULL.
Si muchos de los tributos no se aplican a todas las duplas de la relación, es
decir, son nulos, se acabará con un gran número de nulos en esas duplas.
Esto puede originar un considerable desperdicio en el nivel de almacenamiento
y posiblemente dificultar el entendimiento del significado de los atributos y la
especificación de operaciones de reunión con en el nivel lógico.
Restricciones de usuario
Podemos considerar la restricción de usuario, dentro del contexto relacional,
como un predicado definido sobre un conjunto de atributos, de duplas o de
dominios, que debe ser verificado por los correspondientes objetos para que
éstos constituyan una ocurrencia válida del esquema.
Dentro de las restricciones de usuario destaca la restricción de integridad
referencial que dice que los valores de clave ajena deben coincidir con los de
clave primaria asociada a ella o ser nulos.
Llave primaria
Establece el conjunto de columnas que forman la clave primaria de esa tabla.
Se comporta como única y obligatoria sin necesidad de explicitarlo. Sólo puede
existir una clave primaria por tabla. Puede ser referenciada como clave ajena
3
por otras tablas. Crea un índice automáticamente cuando se habilita o se crea
esta restricción.
Aserción
Una técnica más formal para representar restricciones explícitas es con un
lenguaje de especificación de restricciones, que suele basarse en alguna
variación del cálculo relacional. Este enfoque declarativo establece una
separación clara entre la base de restricciones (en la que las restricciones se
almacenan en una forma codificada apropiada) y el subsistema de control de
integridad del SGBD (que tiene acceso a la base de restricciones para aplicar
estas últimas correctamente a las transacciones afectadas).
Cuando se usa esta técnica, las restricciones suelen llamarse aserciones. Se ha
sugerido el uso de esta estrategia con SGBD relaciónales. El subsistema de
control de integridad compila las aserciones, que entonces se almacenan en el
catalogo del SGBD, donde el subsistema de control de integridad puede
consultarlas e imponerlas automáticamente. Esta estrategia es muy atractiva
desde el punto de vista de los usuarios y programadores por su flexibilidad.
4
Descargar