Clase 4 Unidad 1
Clase 4 Unidad 1
Clase 4 Unidad 1
INTEGRIDAD
Ing. Elmer Arturo Carballo Ruiz MSc.
Ciclo I
Base de Datos
Restricciones de Integridad en las
Relaciones
Las restricciones son condiciones que deben tener a
todos los estados de la relación válida.
Hay tres tipos principales restricciones en el modelo
relacional:
Las restricciones de Clave
Las restricciones de Integridad de Entidad
Las restricciones de Integridad Referencial
Otra restricción implícita es la restricción de dominio
Todos los valores de una tupla debe ser del dominio de su
atributo (o podría ser nulo, si se permite para ese atributo)
Slide 5- 2
Restricciones de Clave
Superclave de R:
Es un conjunto de atributos de SK de R con la siguiente condición:
No hay dos tuplas en cualquier relación r estado válido (R) que tengan
el mismo valor para el SK
Es decir, para cualquier tuplas diferentes t1 y t2 de r (R), t1[SK]
t2[SK]
Esta condición debe ser principal en cualquier estado válido r (R)
Clave de R:
Una superclave es "mínima" para identificar una tupla
Es decir, una clave es una superclave K tal que la eliminación de
cualquier atributo de los resultados de K en un conjunto de
atributos que no es una superclave (no posee la propiedad de
unicidad de superclave)
Slide 5- 3
Restricciones de Clave (continuacion)
Ejemplo: Consideremos el esquema de relación COCHE:
COCHE (Estado, Reg. #, SerialNo, Marca, modelo, año)
COCHE tiene dos claves:
Clave 1 = (Estado, Reg. #)
Clave 2 = () SerialNo
Ambos son también superclaves de COCHE
(SerialNo, Marca) es una superclave, pero no una llave.
En general:
Cualquier clave puede ser una superclave (pero no al revés)
Cualquier conjunto de atributos que incluye una clave es una superclave
Una superclave mínima es también una clave
Slide 5- 4
Restricciones de Clave (continuacion)
Si una relación tiene varias claves candidatas, uno es elegido
de forma arbitraria a ser la clave principal.
Los atributos clave primaria están subrayados.
Ejemplo: Consideremos el esquema de relación COCHE:
Coche (Estado, Reg. #, SerialNo, Marca, modelo, año)
Elegimos SerialNo como la clave principal
El valor de la clave principal se utiliza para identificar de forma
única cada tupla en una relación
Proporciona la identidad tupla
También se utiliza para hacer referencia a la tupla de otra tupla
Regla general: Elegir como clave primaria la más pequeña de las
claves candidatas (en términos de tamaño)
No siempre aplicable - la elección es a veces subjetiva.
Slide 5- 5
La tabla con dos claves candidatas –
NumeroPermisoConducir se escogio como llave primaria
Slide 5- 6
Esquema de Base de Datos Empresa
Slide 5- 7
Integridad de entidad
Integridad de Entidad:
La clave principal de cada uno de los atributos PK
esquema de relación R en S no puede tener valores nulos
en cualquier tupla de r (R).
Esto se debe a los valores de clave primaria se utilizan para
identificar las tuplas individuales.
t[PK] nula para cualquier tupla t en r (R)
Si PK tiene varios atributos, los valores nulos no se permite en
ninguno de estos atributos
Nota: Otros atributos de R puede ser obligados a no
permitir valores nulos, a pesar de que no son miembros de
la clave principal.
Slide 5- 8
Integridad referencial
En una restricción participan dos relaciones
Slide 5- 9
Integridad referencial
Slide 5- 10
Restricción de Integridad Referencial (o
llave foránea)
Declaración de la restricción
El valor de la columna(o columnas) de clave foránea FK de la
relación que hace referencia a la R1 puede ser:
(1) un valor existente de los valores de clave principal de un
correspondiente clave primaria PK en la relación R2 a la que se
hace referencia, o
(2) un valor nulo.
Slide 5- 11
Mostrar el esquema de Base de Datos
relacional y sus restricciones
Cada esquema de relación se puede mostrar como
una fila de nombres de atributos
El nombre de la relación se escribe por encima de
los nombres de los atributos
El atributo de clave principal (o atributos) se
subrayará
Una clave externa (integridad referencial) las
restricciones se muestran como un arco dirigido
(flecha) de los atributos clave foránea a la tabla
referenciada
Puede también señalarse la clave primaria de la
relación a la que se hace referencia para mayor
claridad
Slide 5- 12
Restricciones de Integridad Referencial para la Base de Datos
EMPRESA
Slide 5- 13
Otros tipos de restricciones
Slide 5- 14
Estados de Base de Datos Probladas
Slide 5- 15
Estado
Poblado de
la Base de
Datos
EMPRESA
Slide 5- 16
Operaciones de Actualizar(Update) en las
Relaciones
INSERTAR una tupla.
ELIMINAR una tupla.
MODIFICAR una tupla.
Las restricciones de integridad no deben ser violadas por
las operaciones de actualización.
Varias operaciones de actualización tienen que estar
agrupadas.
Las actualizaciones se pueden propagar a causa de
otras actualizaciones de forma automática. Esto puede
ser necesario para mantener las restricciones de
integridad.
Slide 5- 17
Operaciones de Actualizar(Update) en las
Relaciones
En caso de violación de integridad, las acciones se
pueden tomar varias:
Cancelar la operación que hace que la violación
(RESTRINGIR o RECHAZAR)
Realiza la operación, pero informa al usuario de la violación
Las actualizaciones adicionales son disparadas(Trigger)
por lo que la violación es corregida (opción CASCADE,
opción SET NULL)
Ejecutar una rutina de corrección de error especificado por
el usuario.
Slide 5- 18
Posibles violaciones por cada operación
Slide 5- 19
Posibles violaciones por cada operación
ELIMINAR(DELETE) sólo puede violar la integridad referencial:
Si el valor de clave principal de la tupla se va a eliminar es
referenciada desde otras tuplas en la base de datos
Puede ser subsanada por varias acciones: RESTRICT, CASCADE,
SET NULL
– La opción RESTRICT: rechazar la supresión
– La opción CASCADE: propagar el nuevo valor de clave principal en las
claves externas de la referencia a las tuplas
– Las opciones SET NULL: conjunto las claves externas de la referencia a las
tuplas seteadas en NULL
Slide 5- 20
Posibles violaciones por cada operación
ACTUALIZAR(UPDATE) puede violar las restricciones de
dominio y restricción NOT NULL en un atributo que se
modifique
Cualquiera de las otras limitaciones que también puede ser
violada, según el atributo se actualiza:
Actualización de la clave principal (PK):
Similar a un DELETE seguido de una instrucción INSERT
Necesita especificar las opciones similares a DELETE
Actualización de una clave externa (FK):
Puede violar la integridad referencial
Actualización de un atributo común (ni PK tampoco FK):
Puede, además de violar las restricciones de dominio
Slide 5- 21
Sumario
Slide 5- 22
Ejercicios en Clase
Considere las siguientes relaciones para una base de datos que mantiene un registro de matriculación en
los cursos y los libros adoptados para cada curso:
Dibuje un diagrama de esquema relacional especificando las claves foráneas de este esquema.
Slide 5- 23
Fin.