A integridade referencial é unha característica de base de datos en sistemas de xestión de bases de datos relacionales. Asegura que as relacións entre táboas nunha base de datos permanecen precisas aplicando restricións para evitar que os usuarios ou as aplicacións ingresen datos inexactos ou apunten a datos que non existen.
As bases de datos usan táboas para organizar a información que conteñen. Son similares ás follas de cálculo, como Excel, pero son moito máis capaces para os usuarios avanzados. As bases de datos funcionan co uso de chaves primarias e chaves estranxeiras, que mantén a relación entre as táboas.
Clave primaria
A clave principal dunha táboa de base de datos é un identificador único asignado a cada rexistro. Cada táboa terá unha ou máis columnas designadas como a chave primaria. Un número da Seguridade Social pode ser unha chave primaria para unha lista de empregados da base de datos porque cada número da Seguridade Social é única.
Non obstante, debido a problemas de privacidade, o número de identificación da empresa asignada é unha opción mellor para funcionar como unha chave primaria para os empregados. Algúns programas de base de datos, como Microsoft Access, atribúen a chave primaria automaticamente, pero a chave aleatoria non ten significado real. É mellor usar unha clave con significado para o rexistro. O xeito máis sinxelo de facer cumprir a integridade referencial non é permitir cambios a unha chave primaria.
Clave estranxeira
Unha clave externa é un identificador nunha táboa que coincide coa clave primaria dunha táboa diferente. A clave estranxeira crea a relación cunha táboa diferente, ea integridade referencial refírese á relación entre estas táboas.
Cando unha táboa ten unha clave externa noutra táboa, o concepto de integridade referencial afirma que non pode engadir un rexistro á táboa que contén a clave externa a menos que haxa un rexistro correspondente na táboa vinculada. Tamén inclúe as técnicas coñecidas como actualización en cascada e eliminación en cadea de datos, o que asegura que os cambios feitos na táboa vinculada se reflectan na táboa principal.
Exemplo de regras de integridade referencial
Considero a situación na que tes dúas táboas: Empregados e Xestores. A táboa empregados ten un atributo de chave estranxeira titulado ManagedBy, que apunta ao rexistro do xestor de cada empregado na táboa de Xestores. A integridade referencial cumpre as seguintes tres regras:
- Non podes engadir un rexistro á táboa empregados a non ser que o atributo ManagedBy apunte a un rexistro válido na táboa de Xestores. A integridade referencial impide a inserción de detalles incorrectos nunha táboa. Non funciona ningunha operación que non satisfaga a regra de integridade referencial.
- Se a clave principal para un rexistro na táboa Xestores cambia, todos os rexistros correspondentes na táboa dos empregados modifícanse usando unha actualización en cascada.
- Se se elimina un rexistro na táboa Xestores, eliminaranse todos os rexistros correspondentes na táboa dos empregados mediante unha eliminación en cadea de cadeas.
Vantaxes das restricións de integridade referencial
Usar un sistema de xestión de bases de datos relacional con integridade referencial ofrece varias vantaxes:
- Evita a entrada de datos duplicados.
- Evita que unha táboa apunte a un campo inexistente noutra táboa.
- Garantir a coherencia entre táboas "asociadas".
- Evita a eliminación dun rexistro que contén un valor referido por unha chave estranxeira noutra táboa.
- Evita a adición dun rexistro a unha táboa que contén unha clave externa a non ser que haxa unha clave primaria na táboa vinculada.