INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD

15

Transcript of INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD

Page 1: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD
Page 2: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD

Pretende que cada entidad que se guarda en la base de datos sea identificable de un modo único, es decir, que evitemos la información redundante.

La identificación de entidades no es única, podemos tener varios modos de entidad para un mismo objeto real .

Page 3: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD

Estas entidades puede ser de diferente carácter:

•Entidades físicas: un libro, una bebida, un empleado•Entidades conceptuales: una empresa•Entidades como eventos: una alerta de nuestra agenda que nos recuerda una tarea

La integridad de entidad define una fila como entidad única para una tabla determinada. Exige la integridad de las columnas, de los identificadores o la clave principal de una tabla, mediante índices y restricciones UNIQUE, o restricciones PRIMARY KEY o IDENTITY

Cada tabla puede tener sólo una columna de identificación, la que contendrá una secuencia de valores generados por el sistema que unívocamente identifican a cada fila de la tabla

Una tabla puede tener solo una restricción PRIMARY KEY, y ninguna columna que participa de la clave primaria puede aceptar nulos. Cuando se especifica una restricción PRIMARY KEY para una tabla, SQL asegura la unicidad de los datos creando un índice principal para las columnas de la clave primaria.

Page 4: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD

Como ejemplo una empresa dedicada a la venta de bebidas, podríamos identificar las bebidas de un modo general, a un modo más individual:

•Todas las bebidas en un sólo grupo.•Todas las bebidas de la misma marca en un grupo.•Agrupar las bebidas en función de si son alcohólicas o no.•Cada bebida de modo individual.•Un hecho sobre una determinada bebida, como puede ser el sabor de un refresco.

Page 5: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD

INTEGRIDAD REFERENCIAL

Protege las relaciones definidas entre las tablas cuando se crean o se eliminan filas.Se basa en las relaciones entre claves externas y claves principales, mediante restricciones FOREIGN KEY y CHECK.

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.

Page 6: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD

Cuando se exige la integridad referencial, SQL Server 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 Sales.SalesOrderDetail y Production.Product de la base de datos AdventureWorks, la integridad referencial se basa en la relación entre la clave externa (ProductID) de la tablaSales.SalesOrderDetail y la clave principal (ProductID) de la tabla Production.Product. Esta relación garantiza que un pedido de ventas no pueda nunca hacer referencia a un producto que no existe en la tablaProduction.Product.

Page 7: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD
Page 8: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD
Page 9: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD
Page 10: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD

La integridad referencial es un sistema de reglas que utiliza Access para asegurarse que las relaciones entre registros de tablas relacionadas son válidas y que no se borren o cambien datos relacionados de forma accidental.

Page 11: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD

Al exigir integridad referencial en una relación le estamos diciendo a Access que no nos deje introducir datos en la tabla secundaria si previamente no se han introducido en la tabla principal.

Page 12: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD

La integridad referencial entre dos tablas debemos indicarla en el siguiente cuadro de diálogo (aparece cuando se realiza la relación entre dos campos).

Page 13: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD

Si al hacer las relaciones entra las tablas “Socios”, “Préstamos” y “Libros” hemos marcado en todas ellas la opción de “Exigir integridad referencial”, y ahora intentamos introducir en la tabla “Préstamos” un libro que no existe en la tabla Libros aparecer´ el siguiente mensaje de error:

Page 14: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD

La integridad de entidad define una fila como entidad única para una tabla determinada. La integridad de entidad exige la integridad de las columnas de los identificadores o la clave principal de una tabla, mediante índices y restricciones UNIQUE, o restricciones PRIMARY KEY.

La clave primaria de una entidad no puede tener valores nulos y siempre deberá ser única, por ejemplo DNI.

Page 15: INTEGRIDAD REFERENCIAL E INTEGRIDAD DE ENTIDAD

La primera regla de integridad se aplica a las claves primarias de las relaciones base: ninguno de los atributos que componen la clave primaria puede ser nulo.

Por definición, una clave primaria es un identificador irreducible que se utiliza para identificar de modo único las tuplas. Que es irreducible significa que ningún subconjunto de la clave primaria sirve para identificar las tuplas de modo único. Si se permite que parte de la clave primaria sea nula, se está diciendo que no todos sus atributos son necesarios para distinguir las tuplas, con lo que se contradice la irreducibilidad.

Nótese que esta regla sólo se aplica a las relaciones base y a las claves primarias, no a las claves alternativas.