Integridad de los datos
La exigencia de integridad de los datos garantiza la calidad de
los datos de la base de datos.
La integridad de datos
pertenece a una de las siguientes categorías:
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.
Ejemplo
Tenemos la siguiente
relación:
DESPACHOS
|
||
edificio
|
número
|
superficie
|
Marina
|
120
|
10
|
Marina
|
122
|
15
|
Marina
|
230
|
20
|
Diagonal
|
120
|
10
|
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.
Otras
relaciones bien podrían tener una clave primaria en la cual se permiten nulos.
Como por ejemplo vamos a suponer que se
permiten nulos para el atributo P.COLOR en la base de datos proveedores y
partes, y consideremos la relación resultante de la consulta “obtener todos los
colores de las partes”.
La integridad de dominio viene dada por la validez de las entradas
para una columna determinada. Puede exigir la integridad de dominio para
restringir el tipo mediante tipos de datos, el formato mediante reglas y restricciones CHECK,
o el intervalo de valores posibles mediante restricciones FOREIGN KEY, restricciones
CHECK, definiciones DEFAULT, definiciones NOT NULL y reglas.
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.
Otro ejemplo seria 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.
Como segundo ejemplo una empresa dedicada a la
venta de bebidas; podríamos identificar a las bebidas:
-Todas las bebidasen un solo grupo.
-Todas las bebidas de la misma marca en un
grupo.
-Agrupar las bebidas en función de si
contienen alcohol o no
-El sabor de la bebida
-Cadas bebida de modo individual
En el contexto de las bases de datos, la integridad referencial es
una propiedad deseable en las mismas. Gracias a la integridad referencial se
garantiza que una entidad (fila o registro) siempre se relaciona con otras
entidades válidas, es decir, que existen en la base de datos. Implica que en
todo momento dichos datos sean correctos, sin repeticiones innecesarias, datos
perdidos y relaciones mal resueltas
Por ejemplo, en una base de
datos académica, exista un profesor en un departamento inexistente, o un curso
impartido por un profesor inexistente.
Otro ejemplo seria , con las tablas Ventas y
Títulos en la base de datos Pubs, la integridad referencial está basada sobre
las relaciones entre la clave ajena (tit_ID) en la tabla ventas y la clave
primaria (tit_ID) en la tabla Titulos, como se muestra en la Figura.
Otro
ejemplo se puede representar en el siguiente cuadro:
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 en CREATE TABLE, procedimientos almacenados y desencadenadores.
Un ejemplo podría ser ser
que no podamos matricular alumnos en un centro educativo de secundaria, menores
de 12 años. El principio, para el modelo datos seria indiferente que en nuestros
sistemas tuvieron alumnos matriculados menores de 12 años, pero no para los
encargados de gestionar el centro educativo, para los que seria inaceptable que
alumnos menores de esa edad estuvieron causando estudios en el centro.
Otro ejemplo similar sería que nuestra base de datos no aceptara a ciertos usuarios en una biblioteca, por ejemplo usuarios con adeudo graves en la biblioteca no podrían ser acreedores a un préstamo.
Otro ejemplo similar sería que nuestra base de datos no aceptara a ciertos usuarios en una biblioteca, por ejemplo usuarios con adeudo graves en la biblioteca no podrían ser acreedores a un préstamo.


No hay comentarios:
Publicar un comentario