Tabla de contenido:
- Definición: ¿Qué significa Integridad referencial (RI)?
- Techopedia explica la integridad referencial (RI)
Definición: ¿Qué significa Integridad referencial (RI)?
La integridad referencial (RI) es un concepto de base de datos relacional, que establece que las relaciones de tabla siempre deben ser consistentes. En otras palabras, cualquier campo de clave externa debe estar de acuerdo con la clave primaria a la que hace referencia la clave externa. Por lo tanto, cualquier cambio en el campo de la clave primaria debe aplicarse a todas las claves externas, o no a todas. La misma restricción también se aplica a las claves externas en que cualquier actualización (pero no necesariamente eliminaciones) debe propagarse a la clave primaria primaria.
Techopedia explica la integridad referencial (RI)
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 exclusiva a cada cliente / titular de la 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 foránea. Esta columna es especial porque sus valores no se crean recientemente. Por el contrario, estos valores deben hacer referencia a valores existentes e idénticos 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 puede editarse sin editar el valor correspondiente en la tabla ACCOUNTS_MASTER. Por ejemplo, si el ID de cliente de Andrew Smith se cambia en la tabla CUSTOMER_MASTER, este cambio también debe aplicarse a la tabla ACCOUNTS_MASTER, permitiendo así que la información de la cuenta de Andrew Smith se vincule con su ID de cliente.