Taula de continguts:
- Definició: què significa integritat referencial (RI)?
- Techopedia explica la integritat referencial (RI)
Definició: què significa integritat referencial (RI)?
La integritat referencial (RI) és un concepte de base de dades relacional, que afirma que les relacions de taula sempre han de ser coherents. En altres paraules, qualsevol camp de clau estrangera ha de coincidir amb la clau primària a la qual es fa referència la clau estrangera. Per tant, qualsevol canvi de camp de clau principal s'ha d'aplicar a totes les claus estrangeres, o en absolut. La mateixa restricció també s'aplica a les claus estrangeres en què totes les actualitzacions (però no necessàriament esborres) han de ser propagades a la clau principal.
Techopedia explica la integritat referencial (RI)
Penseu en una base de dades bancària, que conté dues taules:
- Taula CUSTOMER_MASTER: inclou dades bàsiques del client / titular del compte com ara nom, número de seguretat social, adreça i data de naixement.
- ACCOUNTS_MASTER Taula: emmagatzema dades bàsiques del compte bancari com ara el tipus de compte, la data de creació del compte, el titular del compte i els límits de retirada.
Per identificar de manera exclusiva cada client / titular del compte a la taula CUSTOMER_MASTER, es crea una columna de clau principal anomenada CUSTOMER_ID.
Per identificar una relació de client i compte bancari a la taula ACCOUNTS_MASTER, cal fer referència a un client existent a la taula CUSTOMER_MASTER. Així, la columna CUSTOMER_ID, també creada a la taula ACCOUNTS_MASTER, és una clau estrangera. Aquesta columna és especial perquè els seus valors no són de nova creació. Més aviat, aquests valors han de fer referència als valors existents i idèntics a la columna de clau primària d’una altra taula, que és la columna CUSTOMER_ID de la taula CUSTOMER_MASTER.
La integritat referencial és un estàndard que significa que qualsevol valor CUSTOMER_ID de la taula CUSTOMER_MASTER no es pot editar sense editar el valor corresponent a la taula ACCOUNTS_MASTER. Per exemple, si es canvia l’ID de client d’Andrew Smith a la taula CUSTOMER_MASTER, aquest canvi també s’ha d’aplicar a la taula ACCOUNTS_MASTER, permetent així que la informació del compte d’Andrew Smith s’enllaci al seu identificador de client.
