Upload
itsl
View
3.849
Download
5
Embed Size (px)
Citation preview
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 .
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.
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.
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.
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.
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.
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.
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).
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:
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.
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.