En los sistemas de bases de datos, una restricción de propagación "detalla lo que debe suceder con una tabla relacionada cuando actualizamos una o varias filas de una tabla de destino" (Paul Beynon-Davies, 2004, p. 108). Las tablas se vinculan mediante relaciones de clave primaria a clave externa . Es posible que los usuarios actualicen una tabla en una relación de tal manera que la relación deje de ser consistente, lo que se conoce como ruptura de la integridad referencial . Un ejemplo de ruptura de la integridad referencial: si una tabla de empleados incluye un número de departamento para "Artículos para el hogar", que es una clave externa a una tabla de departamentos, y un usuario elimina ese departamento de la tabla de departamentos, entonces los registros de empleados de Artículos para el hogar harían referencia a un número de departamento inexistente.
Las restricciones de propagación son métodos utilizados por los sistemas de gestión de bases de datos relacionales (RDBMS) para resolver este problema, asegurando que las relaciones entre tablas se conserven sin errores. En su libro de texto sobre bases de datos, Beynon-Davies explica las tres formas en que los RDBMS manejan las eliminaciones de tuplas de destino y relacionadas :
- Eliminación restringida : el usuario no puede eliminar la fila de destino hasta que se hayan eliminado todas las filas que la referencian (mediante claves foráneas ). Esto significa que sería necesario eliminar a todos los empleados de la sección de Artículos para el hogar o cambiarles el departamento antes de poder eliminar el departamento de la tabla departamental.
- Eliminación en cascada : permite eliminar la fila de destino y, a su vez, todas las filas que apuntan a ella (mediante claves foráneas). El proceso es el mismo que el de una eliminación restringida, con la diferencia de que el sistema de gestión de bases de datos (RDBMS) eliminaría automáticamente a los empleados de la sección de artículos para el hogar antes de eliminar el departamento.
- Anula la eliminación : puede eliminar la fila de destino y todas las claves foráneas (que apuntan a ella) se establecen en nulo . En este caso, después de eliminar el departamento de artículos para el hogar, los empleados que trabajaban en este departamento tendrían un valor nulo (desconocido) para su departamento.
Bibliografía
- Beynon-Davies, P. (2004) Sistemas de bases de datos , tercera edición, Palgrave Macmillan .
- Sistemas de gestión de bases de datos relacionales
- Cálculo de stubs