La integridad de datos puede referirse a:
* Integridad de datos en general: hace referencia a que todas las características de los datos (reglas, definiciones, fechas, etc.) deben ser correctos para que los datos estén completos.
* Integridad de datos en bases de datos: Integridad de datos se refiere al estado de corrección y completitud de los datos ingresados en una base de datos.
Los SGBD relacional deben encargarse de mantener la integridad de los datos almacenados en una base de datos con respecto a las reglas predefinidas o restricciones. La integridad también puede verificarse inmediatamente antes del momento de introducir los datos a la base de datos (por ejemplo, en un formulario empleando validación de datos).
Regla de integridad de entidad
La regla de integridad de entidad de la clave primaria dispone que los atributos de la clave primaria de una relación no pueden tener valores nulos.
Ejemplo
Tenemos la siguiente relación:
En esta relación, puesto que la clave primaria está formada por edificio y número, no hay ningún despacho que tenga un valor nulo para edificio, ni tampoco para número. Esta regla es necesaria para que los valores de las claves primarias puedan identificar las tuplas individuales de las relaciones. Si las claves primarias tuviesen valores nulos, es posible que algunas tuplas no se pudieran distinguir.
Ejemplo: Clave primaria incorrecta con valores nulos
En el ejemplo anterior, si un despacho tuviese un valor nulo para edificio porque en un momento dado el nombre de este edificio no se conoce, por ejemplo (NULO, 120, 30), la clave primaria no nos permitiría distinguirlo del despacho (Marina, 120, 10) ni del despacho (Diagonal, 120,1). No podríamos estar seguros de que el valor desconocido de edificio no es ni Marina ni Diagonal.
La regla de integridad de entidad de la clave primaria establece que si el conjunto de atributos CP es la clave primaria de una relación R, la extensión de R no puede tener ninguna tupla con algún valor nulo para alguno de los atributos de CP.
Ejemplo
En la relación DESPACHOS anterior, no se debería insertar la tupla (Diagonal, NULO, 15). Tampoco debería ser posible modificar la tupla (Marina, 120, 10) de modo que pasara a ser (NULO, 120, 10).
Regla de integridad de dominio
La regla de integridad de dominio está relacionada, como su nombre indica, con la noción de dominio, esta regla establece dos condiciones, la primera condición consiste en que un valor no nulo de un atributo Ai debe pertenecer al dominio del atributo Ai; es decir, debe pertenecer a dominio(Ai). Esta condición implica que todos los valores no nulos que contiene la base de datos para un determinado atributo deben ser del dominio declarado para dicho atributo.
Ejemplo
Si en la relación EMPLEADOS(DNI, nombre, apellido, edademp) hemos declarado que dominio(DNI) es el dominio predefinido de los enteros, entonces no podremos insertar, por ejemplo, ningún empleado que tenga por DNI el valor “Luis”, que no es un entero.
Ejemplo
Supongamos ahora que en la relación EMPLEADOS(DNI, nombre, apellido, edademp) hemos declarado que dominio(edademp) es el dominio definido por el usuario edad. Supongamos también que el dominio edad se ha definido como el conjunto de los enteros que están entre 16 y 65. En este caso, por ejemplo, no será posible insertar un empleado con un valor de 90 para edademp.
Regla de integridad referencial
La regla de integridad referencial está relacionada con el concepto de clave foránea. Concretamente, 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.
Ejemplo
Si tenemos las siguientes relaciones:
•Relación DESPACHOS:
•Relación EMPLEADOS:
Donde edificiodesp y númerodesp de la relación EMPLEADOS forman una clave foránea que referencia la relación DESPACHOS. Debe ocurrir que los valores no nulos de edificiodesp y númerodesp de la relación EMPLEADOS estén en la relación DESPACHOS como valores de edificio y número.
Ejemplo
El empleado (40.444.255, Juan García, Marina, 120) tiene el valor Marina para edificiodesp, y el valor 120 para númerodesp, de modo que en la relación DESPACHOS hay un despacho con valor Marina para edificio y con valor 120 para número.
La necesidad de la regla de integridad relacional proviene del hecho de que las claves foráneas tienen por objetivo establecer una conexión con la clave primaria que referencian. Si un valor de una clave foránea no estuviese presente en la clave primaria correspondiente, representaría una referencia o una conexión incorrecta.
Un SGBD relacional tendrá que hacer cumplir esta regla de integridad. Deberá efectuar comprobaciones cuando se produzcan las siguientes operaciones:
a) Inserciones en una relación que tenga una clave foránea.
b) Modificaciones que afecten a atributos que pertenecen a la clave foránea de una relación.
c) Borrados en relaciones referenciadas por otras relaciones.
d) Modificaciones que afecten a atributos que pertenecen a la clave primaria de una relación referenciada por otra relación.
Ejemplo
Retomamos el ejemplo anterior, donde edificiodesp y númerodesp de la relación EMPLEADOS forman una clave foránea que referencia la relación DESPACHOS.
•Relación DESPACHOS:
•Relación EMPLEADOS:
Las siguientes operaciones provocarían el incumplimiento de
la regla de integridad referencial:
• Inserción de (12.764.411, Jorge, Puig,
Diagonal, 220) en EMPLEADOS.
• Modificación de (40.444.255, Juan, García,
Marina, 120) de
EMPLEADOS por
(40.444.255, Juan, García, Marina, 400).
• Borrado de (Marina, 120, 10) de DESPACHOS.
• Modificación de (Diagonal, 120, 10)
Regla de integridad definida por el usuario
La integridad definida por el usuario permite definir reglas de empresa específicas que no pertenecen a ninguna otra categoría de integridad. Todas las categorías de integridad admiten la integridad definida por el usuario. Esto incluye todas las restricciones de nivel de columna y nivel de tabla.
No hay comentarios:
Publicar un comentario