La integridad referencial es una característica de base de datos en sistemas de administración de bases de datos relacionales que asegura que las relaciones entre tablas en una base de datos permanecen precisas aplicando restricciones para evitar que usuarios o aplicaciones ingresen datos inexactos o señalen datos que no existen.
Las bases de datos usan tablas para organizar la información que contienen. Son similares a las hojas de cálculo, como Excel, pero son mucho más aptos para usos avanzados.
Las bases de datos funcionan con el uso de claves primarias y claves externas(foráneas), que mantienen la relación entre las tablas.
CLAVE PRIMARIA
La clave principal de una tabla de base de datos es un identificador único asignado a cada registro. Cada tabla tendrá una o más columnas designadas como clave principal. Un número de Seguridad Social puede ser una clave principal para una lista de empleados de la base de datos porque cada número de Seguridad Social es único. Sin embargo, debido a problemas de privacidad, un número de ID de compañía asignado es una mejor opción para funcionar como clave principal para los empleados. Algunos programas de bases de datos, como Microsoft Access, asignan la clave principal automáticamente, pero la clave aleatoria no tiene un significado real. Es mejor usar una clave con significado para el registro. La forma más sencilla de imponer la integridad referencial es no permitir cambios en una clave principal.
CLAVE EXTERNA (FORÁNEA)
Una clave externa (foránea) es un identificador en una tabla que coincide con la clave primaria de una tabla diferente.
La clave externa crea una relación con una tabla diferente, y la integridad referencial se refiere a la relación entre estas tablas.
Cuando una tabla tiene una clave externa a otra tabla, el concepto de integridad referencial establece que no puede agregar un registro a la tabla que contiene la clave externa a menos que haya un registro correspondiente en la tabla vinculada.
También incluye las técnicas conocidas como actualización en cascada y eliminación en cascada, que aseguran que los cambios realizados en la tabla vinculada se reflejen en la tabla principal.
EJEMPLO DE REGLAS DE INTEGRIDAD REFERENCIAL
Considere la situación en la que tiene dos tablas: empleados y gerentes. La tabla Empleados tiene un atributo de clave foránea titulado idGerente, que apunta al registro del gerente de cada empleado en la tabla Gerentes. La integridad referencial impone las siguientes tres reglas:
- No puede agregar un registro a la tabla Empleados a menos que el atributo idGerente apunte a un registro válido en la tabla Gerentes. La integridad referencial evita la inserción de detalles incorrectos en una tabla. Cualquier operación que no satisfaga la regla de integridad referencial falla.
- Si la clave principal para un registro en la tabla Gestores cambia, todos los registros correspondientes en la tabla Empleados se modifican usando una actualización en cascada.
- Si se elimina un registro en la tabla Gerentes, se eliminan todos los registros correspondientes en la tabla Empleados utilizando una eliminación en cascada.
VENTAJAS DE LAS RESTRICCIONES DE INTEGRIDAD REFERENCIAL
El uso de un sistema de gestión de bases de datos relacionales con integridad referencial ofrece varias ventajas:- Impide la entrada de datos duplicados
- Impide que una tabla apunte a un campo inexistente en otra tabla.
- Consistencia garantizada entre tablas "asociadas"
- Impide la eliminación de un registro que contiene un valor al que hace referencia una clave externa en otra tabla
- Impide la adición de un registro a una tabla que contiene una clave externa a menos que haya una clave principal en la tabla vinculada.