Clase 4 Unidad 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 24

RESTRICCIONES DE

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

 Las restricciones anteriores implican una relación


única.
 Se utiliza para especificar una relación entre las tuplas de dos
relaciones:

 La relación referenciada y la relación que hace


referencia.

Slide 5- 9
Integridad referencial

 Las tuplas en la relación referenciada R1 tienen


atributos FK (llamados atributos clave foránea) que
hacen referencia a la clave principal atributos PK
de la relación R2 a la que se hace referencia.
 Una tupla t1 en R1 se dice hace referencia a una tupla t2
en R2, si t1 [FK] = t2 [PK].
 Una restricción de integridad referencial se pueden
mostrar en un esquema de base de datos relacional
como un arco dirigido desde R1.FK a R2.

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.

 En el caso de (2), el FK en R1 no debe ser una parte de


su propia clave principal.

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

 Restricciones semánticas de Integridad:


 basados en la semántica de las aplicaciones y no puede
ser expresado por el modelo en sí mismo
 Ejemplo: "al máximo. no. de horas por empleado en todos
los proyectos que él o ella trabaja es de 56 horas por
semana “
 Un lenguaje de especificación de restricción
puede ser utilizado para expresarla
 SQL-99 permite a los factores disparadores(triggers)y las
afirmaciones (assertions) para poder expresarlas

Slide 5- 14
Estados de Base de Datos Probladas

 Cada relación tendrá muchas tuplas en su estado actual


relación
 El estado base de datos relacional es una unión de todos
los estados individuales de la relación
 Siempre que se cambia la base de datos, surge un
nuevo estado
 Operaciones básicas para el cambio de la base de datos:
 INSERTAR una nueva tupla en una relación
 ELIMINAR una tupla de una relación existente
 MODIFICAR un atributo de una tupla existentes

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

 INSERTAR(INSERT) puede violar una de las restricciones siguientes:


 Restricción de Dominio:
 Si uno de los valores de los atributos proporcionados para la nueva
tupla no es del dominio atributo especificado.
 Restricción de clave:
 Si el valor de un atributo clave en la nueva tupla ya existe en otra tupla
en la relación.
 La integridad referencial:
 Si un valor de clave foranea en la nueva tupla es referenciada a un
valor de clave principal que no existe en la relación a la que se hace
referencia.
 Integridad de Entidad :
 Si el valor de clave principal es nula en la nueva tupla.

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

 Una de las opciones anteriores se debe especificar durante el


diseño de base de datos para cada restricción de clave externa

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

 Discusión de las Restricciones Modelo Relacional y esquemas de bases de


datos relacionales.
 Las restricciones de Clave.
 Integridad de Entidad .
 La integridad referencial.
 Se describió operaciones relacionales de actualización y tratamiento de los
Violaciones a restricciones.

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:

ESTUDIANTE (Carnet, nombre, Carrera, fnac)


CURSO (Número de curso, Nombrecurso, Departamento)
INSCRIPCION (Carnet, Número de curso, NumCiclo, Nota)
LIBRO_ADOPTADO (Número de curso, NumCiclo, ISBN)
TEXTO (ISBN, Titulo, editorial, autor)
CICLO (Numciclo, Fini, Ffin )

Dibuje un diagrama de esquema relacional especificando las claves foráneas de este esquema.

Slide 5- 23
Fin.

También podría gustarte