¿Qué es la integridad referencial y cómo puede evitar estos problemas un programador?

Por david dunning
¿Qué es la integridad referencial y cómo puede evitar estos problemas un programador?
Hemera Technologies/AbleStock.com/Getty Images

La integridad referencial es una limitación que se aplica a una base de datos relacional, en la que los datos y las relaciones entre ellos están organizados en tablas de filas y columnas, para que no se introduzcan datos inconsistentes. La mayoría de los sistemas gestores de bases de datos relacionales definen reglas de integridad referencial que los programadores aplican cuando crean las relaciones entre dos tablas.

Regla de integridad referencial

Básicamente, la integridad referencial dice que una base de datos no puede tener valores de claves externas sin pareja. Una clave externa es una columna en una tabla de base de datos que tiene valores que están en la columna de clave primaria, un identificador único que identifica una fila en una tabla, en otra tabla. Por ejemplo, considera una tabla de base de datos llamada "departamento", en la que hay una columna llamada "número de departamento" como clave primaria. Se relaciona con otra tabla llamada "empleado", donde "número de departamento" es una clave externa. Un empleado no puede pertenecer a un determinado departamento si el "número de departamento" correspondiente no existe ya en la tabla "departamento". Si el programa que añade los empleados fuerza la integridad referencial, cualquier intento por insertar un empleado en un departamento desconocido no podrá realizarse.

Ventajas

Además de asegurar que estas referencias entre los datos están intactas y son válidas, definir a integridad referencial de una base de datos tiene muchas ventajas. La integridad referencial usa el código existente en un motor de base de datos en lugar de pedir a los programadores que escriban código de programa personalizado desde cero. Como resultado, el desarrollo de programas es más rápido, menos propenso a errores y consistente entre varios programas de aplicación que acceden a la base de datos.

Consecuencias

Desafortunadamente, los lenguajes de programación suelen no tener los mecanismos para aplicar la integridad referencial e, incluso cuando un sistema de gestión de base de datos soporta esos mecanismos, los programadores fracasan al usarlos. La consecuencia de ignorar la integridad referencial es que el código de programación que tiene defectos, o errores, funciona mal y es difícil extenderlo.

Aplicación

Los programadores pueden aplicar la integridad referencial, y evitar los registros "huérfanos" en una base de datos, habilitándola en una relación entre dos tablas. En Microsoft Access, por ejemplo, aplicar la integridad referencial hace que cualquier operación que la viole sea rechazada. Este tipo de operaciones incluyen las actualizaciones de la base de datos que cambian el objeto de una referencia o los borrados que eliminan el objeto de una referencia. Además, Microsoft Access también tiene un conjunto de opciones, conocidas como opciones en "cascada". Estas opciones permiten que actualizaciones referenciales y borrados sean propagados por la base de datos, de forma que todas las filas relacionadas cambien de la misma forma.