Definición - ¿Qué significa Integridad Referencial (RI)?
Para mantener la integridad referencial, los datos relacionales en las tablas de la base de datos deben ser configurables universalmente para que los cambios en una parte del sistema no lleven a problemas inesperados en otra parte.
Específicamente, las claves que hacen referencia a elementos de otras tablas deben estar conectadas a esos otros campos, de modo que si hay un cambio, todo se actualice en conjunto y no por separado.
Esto evita errores en los que las actualizaciones parciales crean discrepancias.
Techinfo explica la integridad referencial (RI)
Una forma común de hacer cumplir la integridad referencial tiene que ver con el desarrollo de 'desencadenantes' que implementarán 'cascadas' en toda la estructura de una base de datos.
En términos generales, estas herramientas permiten a los administradores construir una integridad referencial que funcione.
Al trabajar con claves primarias y externas, los profesionales de bases de datos pueden crear modelos para hacer cumplir la integridad referencial en los sistemas de tablas.
Luego, con la integridad referencial en su lugar, el contenido de la base de datos se unirá para actualizarse conjuntamente cuando sea necesario. Por ejemplo:
Considere una base de datos bancaria, que contiene dos tablas:
-
Tabla CUSTOMER_MASTER: contiene datos básicos del cliente / titular de la cuenta, como nombre, número de seguro social, dirección y fecha de nacimiento.
-
Tabla ACCOUNTS_MASTER: almacena datos básicos de la cuenta bancaria, como el tipo de cuenta, la fecha de creación de la cuenta, el titular de la cuenta y los límites de retiro.
Para identificar de forma única a cada cliente / titular de cuenta en la tabla CUSTOMER_MASTER, se crea una columna de clave principal denominada CUSTOMER_ID.
Para identificar una relación de cliente y cuenta bancaria en la tabla ACCOUNTS_MASTER, se debe hacer referencia a un cliente existente en la tabla CUSTOMER_MASTER.
Por lo tanto, la columna CUSTOMER_ID, también creada en la tabla ACCOUNTS_MASTER, es una clave externa. Esta columna es especial porque sus valores no son de nueva creación.
Por el contrario, estos valores deben hacer referencia a valores idénticos y existentes en la columna de clave principal de otra tabla, que es la columna CUSTOMER_ID de la tabla CUSTOMER_MASTER.
La integridad referencial es un estándar que significa que cualquier valor CUSTOMER_ID en la tabla CUSTOMER_MASTER no se puede editar sin editar el valor correspondiente en la tabla ACCOUNTS_MASTER.
Por ejemplo: si se cambia el ID de cliente de Andrew Smith en la tabla CUSTOMER_MASTER, este cambio también debe aplicarse a la tabla ACCOUNTS_MASTER, lo que permite que la información de la cuenta de Andrew Smith se vincule a su ID de cliente.
Entonces, ¿por qué es importante la integridad referencial?
Permite que las tablas se cambien cuando sea necesario. Suponga que tiene una tabla de gerentes en una tabla y una tabla de miembros del equipo en otra tabla, con una referencia al gerente del miembro del equipo de la primera tabla.
Si uno de los gerentes se va, y la base de datos tiene que reflejar eso, el sistema de integridad referencial se asegura de que en la segunda tabla, la tabla separada de miembros del equipo, el campo para el gerente asignado también se cambie.
De lo contrario, el nombre obsoleto aparecería al buscar en la segunda tabla.
Todo este proceso también puede denominarse creación de "coherencia".
Los esfuerzos de normalización de la base de datos a menudo también contribuyen a este proceso.
La normalización de la base de datos se describe comúnmente como “reducir una estructura de datos compleja a una simple” y mediante estas técnicas, que incluyen el uso de las tres “formas” conocidas por los administradores, la integridad referencial se puede hacer cumplir de forma natural en gran medida.