Ir al contenido

Diferencia entre revisiones de «Integridad referencial»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
m Revertidos los cambios de 85.192.71.17 (disc.) a la última edición de Jkbw
Sin resumen de edición
Línea 1: Línea 1:
La '''integridad referencial''' es una propiedad deseable en las [[base de datos|bases de datos]]. Gracias a la integridad referencial se garantiza que una entidad (fila o [[registro (base de datos)|registro]]) siempre se relacione con otras entidades válidas, es decir, que existen en la base de datos. Implica que en todo momento dichos datos sean correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas.
La '''integridad referencial''' es una propiedad (cris amor) deseable en las [[base de datos|bases de datos]]. Gracias a la integridad referencial se garantiza que una entidad (fila o [[registro (base de datos)|registro]]) siempre se relacione con otras entidades válidas, es decir, que existen en la base de datos. Implica que en todo momento dichos datos sean correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas.


Todas las [[base de datos relacional|bases de datos relacionales]] gozan de esta propiedad gracias a que el software gestor de base de datos vela por su cumplimiento. En cambio, las [[base de datos jerárquica|bases de datos jerárquicas]] requieren que los [[programador]]es se aseguren de mantener tal propiedad en sus [[Programa (computación)|programas]].
Todas las [[base de datos relacional|bases de datos relacionales]] gozan de esta propiedad gracias a que el software gestor de base de datos vela por su cumplimiento. En cambio, las [[base de datos jerárquica|bases de datos jerárquicas]] requieren que los [[programador]]es se aseguren de mantener tal propiedad en sus [[Programa (computación)|programas]].

Revisión del 18:31 11 feb 2015

La integridad referencial es una propiedad (cris amor) deseable en las bases de datos. Gracias a la integridad referencial se garantiza que una entidad (fila o registro) siempre se relacione con otras entidades válidas, es decir, que existen en la base de datos. Implica que en todo momento dichos datos sean correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas.

Todas las bases de datos relacionales gozan de esta propiedad gracias a que el software gestor de base de datos vela por su cumplimiento. En cambio, las bases de datos jerárquicas requieren que los programadores se aseguren de mantener tal propiedad en sus programas.

Ejemplo: Cómo funciona

Supongamos una base de datos con las entidades Persona y Factura. Toda factura corresponde a una persona y solamente una. Implica que en todo momento dichos datos sean correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas.

Supongamos que una persona se identifica por su atributo DNI (Documento Nacional de Identidad). También tendrá otros atributos como el nombre y la dirección. La entidad Factura debe tener un atributo DNI_cliente que identifique a quién pertenece la factura.

Por sentido común es evidente que todo valor de DNI_cliente debe corresponder con algún valor existente del atributo DNI de la entidad Persona. Esta es la idea intuitiva de la integridad referencial.

Existen tres tipos de integridad referencial:

  1. Integridad referencial débil: si en una tupla de R todos los valores de los atributos de K tienen un valor que no es el nulo, entonces debe existir una tupla en S que tome esos mismos valores en los atributos de J;
  2. Integridad referencial parcial: si en una tupla de R algún atributo de K toma el valor nulo, entonces debe existir una tupla en S que tome en los atributos de J los mismos valores que los atributos de K con valor no nulo; y
  3. Integridad referencial completa: en una tupla de R todos los atributos de K deben tener el valor nulo o bien todos tienen un valor que no es el nulo y entonces debe existir una tupla en S que tome en los atributos de J los mismos valores que toman los de K.

La integridad referencial en juego

Cuando se crea una nueva instancia de Factura, la integridad referencial exige que el atributo DNI_cliente coincida con el atributo DNI de alguna instancia de la entidad Persona. En caso contrario, no se permite la operación.

Cuando se intenta eliminar una instancia de Persona, la integridad referencial exige que no exista ninguna factura asociada, es decir, se comprueba que no existe ninguna instancia de Factura cuyo atributo DNI_cliente coincida con el atributo DNI de la instancia a borrar. En caso contrario, no se permite la operación.

Véase también