Tipos de restricciones de integridad
- Datos Requeridos: establece que una columna tenga un valor no NULL.
- Chequeo de Validez: cuando se crea una tabla cada columna tiene un tipo de datos y el DBMS asegura que solamente los datos del tipo especificado sean ingresados en la tabla.
- Integridad de entidad: establece que la clave primaria de una tabla debe tener un valor único para cada filade la tabla; si no, la base de datos perderá su integridad.
- Integridad referencial: asegura la integridad entre las llaves foráneas y primarias (relaciones padre/hijo). Existen cuatro actualizaciones que pueden corromper la integridad referencial.
- La inserción de una fila hijo se produce cuando no coincide la llave foránea con la llave primaria del padre.
- La actualización en la llave foránea de la fila hijo, donde se produce una actualización en la clave ajena de la fila hijo con una sentencia UPDATE y la misma no coincide con ninguna llave primaria.
- La supresión de una fila padre, con la que, si una fila padre -que tiene uno o más hijos- se suprime, las filas hijos quedarán huérfanas.
- La actualización de la llave primaria de una fila padre, donde si en una fila padre, que tiene uno o más hijos se actualiza su llave primaria, las filas hijos quedarán huérfanas.
La integridad referencial declarativa es la propiedad que asegura que información dada es correcta, al cumplir ciertas aserciones. Las restricciones de integridad aseguran que la información contenida en una base de datos es correcta.
Las restricciones de integridad son propiedades de la base de datos que se deben satisfacer en cualquier momento.
Las restricciones de integridad aseguran que la información contenida en la base de datos cumple ciertas restricciones para los diferentes estados.
Existen dos tipos de restricciones:
- Estáticas: limitan los estados permitidos de la Base de Datos.
- Dinámicas: restringen las posibles transiciones de estados de la base datos.
Para incorporar el tratamiento de las restricciones de integridad en el sistema pueden realizarse:
- Añadiendo código adicional para verificar y asegurar que se cumplen las restricciones.
- Declarando las restricciones como parte del esquema de la base de datos.
La definición en la fase de diseño de las restricciones de integridad proporciona mayor número de ventajas, ya que:
- Reduce el costo de desarrollo de software.
- Es más confiable al ser centralizado y uniforme.
- Mantenimiento más fácil.