lunes, 14 de abril de 2014

REGLA DE INTEGRIDA REFERENCIAL

Regla de Integridad referencial: Según Tedd Codd, esta regla involucra a dos relaciones (tablas) e impone la restricción que un grupo de atributos en una relación es clave primaria en otra tabla. La definición de esta característica en la construcción de la Base de Datos, impide ingresar valores en algunos atributos de tuplas que no tengan su correspondencia en la tabla relacionada. Como ejemplos podemos mostrar algunos casos: Impedir incluir novedades de nomina a una persona que no exista como trabajador en el archivo maestro de empleados. Impedir facturar a un cliente que no esté previamente creado en el archivo de clientes. Impedir borrar de la lista de clientes un registro cuyo código esté incluido en la relación de cuentas por cobrar Otra de las definiciones de Integridad referencial consiste en que es una propiedad de las bases de datos que garantiza que un registro se relacione con otros registros válidos asegurando la integridad entre las claves ajenas y primarias (relaciones padre/hijo).. La integridad referencial garantiza que los valores de clave sean coherentes en las distintas tablas. Para conseguir esa coherencia, es preciso que no haya referencias a valores inexistentes y que, si cambia el valor de una clave, todas las referencias a ella se cambien en consecuencia en toda la base de datos. Por lo que se concluye que las claves ajenas de una tabla hija se tienen que corresponder con la clave primaria de la tabla padre con la que se relaciona Cuando se exige la integridad referencial, SQL impide a los usuarios: Agregar o cambiar filas en una tabla relacionada si no hay ninguna fila asociada en la tabla principal. Cambiar valores en una tabla principal que crea filas huérfanas en una tabla relacionada. Eliminar filas de una tabla principal cuando hay filas relacionadas coincidentes. Por ejemplo, en las tablas SalesOrderDetail y Product de la base de datos Tienda, la integridad referencial se basa en la relación entre la clave externa (ProductID) de la tabla SalesOrderDetail y la clave principal (ProductID) de la tabla Product. Esta relación garantiza que un pedido de ventas no pueda nunca hacer referencia a un producto que no existe en la tabla Product.

No hay comentarios:

Publicar un comentario