15

INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS

  • Upload
    itsl

  • View
    3.849

  • Download
    5

Embed Size (px)

Citation preview

Page 1: INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
Page 2: INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS

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

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

Page 3: INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS

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 DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS

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 DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS

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 DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS

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 DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
Page 8: INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
Page 9: INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
Page 10: INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS

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 DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS

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 DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS

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 DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS

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 DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS

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 DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS

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.