Restricciones de integridad PDF

Title Restricciones de integridad
Author Juancar Valle
Course Bases de Datos
Institution UNED
Pages 63
File Size 1.6 MB
File Type PDF
Total Downloads 33
Total Views 119

Summary

Download Restricciones de integridad PDF


Description

Bases de datos

Restricciones de integridad

1

Restricciones de Integridad  4.     

Restricciones de integridad 4.1. 4.2. 4.3. 4.4. 4.5.   



4.6. 

Restricciones de los dominios Integridad referencial Asertos Disparadores Dependencias funcionales 4.5.1. Cierre de un conjunto de dependencias funcionales 4.5.2. Cierre de un conjunto de atributos 4.5.3. Recubrimientos mínimos de dependencias funcionales

Dependencias multivaloradas 4.6.1. Reglas de inferencia para las dependencias multivaloradas

2

Objetos que viven en los SGBD  Dentro

de los SGBD viven distintos elementos relacionados

entre sí

Bases de Datos Tabla T1

Restricción de Tabla

Espacio para Tablas

V1 Vista

Indice

V1 ==> T1

Sinónimo Integridad Referencial T2 T1 3

Restricciones de Integridad  Tipos  

     

de restricciones de integridad:

Declaración de claves. Cardinalidad de la relación – de varios a varios, de uno a varios, de uno a uno. Restricciones de los dominios Integridad referencial Asertos Disparadores Dependencias funcionales Dependencias multivaloradas

4

Restricciones de Integridad  4.     

Restricciones de integridad 4.1. 4.2. 4.3. 4.4. 4.5.   



4.6. 

Restricciones de los dominios Integridad referencial Asertos Disparadores Dependencias funcionales 4.5.1. Cierre de un conjunto de dependencias funcionales 4.5.2. Cierre de un conjunto de atributos 4.5.3. Recubrimientos mínimos de dependencias funcionales

Dependencias multivaloradas 4.6.1. Reglas de inferencia para las dependencias multivaloradas

5

4.1 Restricciones de dominio  Una

definición adecuada de las restricciones de los dominios permite verificar los valores introducidos en la base de datos  También permite examinar las consultas para asegurarse de que tengan sentido las comparaciones que hagan.  El principio subyacente a los dominios de los atributos es parecido al de los tipos de las variables en los lenguajes de programación.  Los lenguajes de programación con tipos estrictos permiten al compilador examinar el programa con mayor detalle.

6

Restricciones de dominio  Se

ha visto que hay que asociar a cada atributo un dominio de valores posibles.  En un tema anterior se vieron varios tipos de dominios estándar, tales como los enteros, caracteres y fecha/tiempo en SQL.  La declaración de que un atributo pertenezca a un determinado dominio actúa como una restricción sobre los valores que puede tomar. Edad:entero

“22, Acacia Avenue”

7

Restricciones de dominio 

La cláusula CREATE DOMAIN se puede usar para definir nuevos dominios. Ejemplo, las instrucciones:  

create domain Euros numeric(12,2) create domain Dólares numeric(12,2) 







Definen los dominios Euros y Dólares como números decimales con un total de 12 dígitos, dos de los cuales se sitúan después de la coma decimal. Un intento de asignar un valor de tipo Dólares a una variable de tipo Euros resultaría lt í en un error sintáctico, i tá ti aunque ambos b ttengan ell mismo i titipo numérico. éi

La declaración de diferentes dominios para diferentes monedas ayuda a detectar errores. Los valores de un dominio pueden ser convertidos a otro dominio. Si el atributo A de la relación r es de tipo Euros, se puede convertir a Dólares escribiendo: 

cast r.A as Dólares

8

Restricciones de dominio  La

cláusula CHECK de SQL permite restringir los dominios de maneras poderosas que no permiten la mayor parte de los sistemas de tipos de los lenguajes de programación.  Permite al diseñador del esquema especificar un predicado que debe satisfacer cualquier valor asignado a una variable cuyo tipo sea el dominio.  Las condiciones check complejas pueden ser útiles cuando se desee asegurar la integridad de los datos, pero se deben usar con cuidado, dado que pueden ser costosas de comprobar.

9

Restricciones de dominio: Restricciones Check REGLA:

Ningún valor en columna ORDER_QTY de la tabla ORDER_ITEM debe ser mayor de 100.

PGM n

PGM n

REGLA

SGBD

SGBD CUMPLIMIENTO CUMPLIMIENTO: APLICACIÓN

REGLA

SGBD

PGM 1

PGM 2

REGLA

REGLA

Cada programa (PGM) gestiona las reglas

PGM 1

PGM 2

El SGBD gestiona las reglas que afectarán a todos los programas 10

Restricciones de dominio: Restricciones Check CREATE TABLE ORDER_ITEM (ORDER_NO INTEGER NOT NULL, ART_NO INTEGER NOT NULL, ORDER_QTY SMALLINT NOT NULL CHECK(ORDER_QTY insert into p values(1,2) Info: 1 tuple inserted. DES> insert into p values(1,3) Error: Functional dependency violation p.[a]->p.[b] in table p(a,b) when trying to insert: p(1,3) Witness tuple : p(1,2) Info: 0 tuples inserted.

108

Dependencias funcionales  Las

dependencias funcionales permiten imponer restricciones de integridad que no son posibles de expresar con claves.  Una dependencia funcional es una generalización del concepto de superclave.

109

Dependencias funcionales  Se

ha mostrado un procedimiento que permite determinar el mínimo número de dependencias funcionales necesario para la comprobación de la consistencia de una relación a partir de un conjunto inicial de dependencias funcionales.  Con este procedimiento el diseñador de la base de datos tiene una herramienta muy útil para mejorar el rendimiento de sus diseños.

110

Restricciones de Integridad  4.     

Restricciones de integridad 4.1. 4.2. 4.3. 4.4. 4.5.   



4.6. 

Restricciones de los dominios Integridad referencial Asertos Disparadores Dependencias funcionales 4.5.1. Cierre de un conjunto de dependencias funcionales 4.5.2. Cierre de un conjunto de atributos 4.5.3. Recubrimientos mínimos de dependencias funcionales

Dependencias multivaloradas 4.6.1. Reglas de inferencia para las dependencias multivaloradas

111

Dependencias multivaloradas  Las

dependencias multivaloradas son restricciones de integridad que expresan relaciones entre los atributos de un esquema que no pueden ser expresables con las dependencias funcionales.

112

Dependencias multivaloradas  Ejemplo 



10.

En la siguiente relación se representan los empleados, sus domicilios y teléfonos, asumiendo que pueden tener más de una vivienda y teléfono, y que no se dispone información acerca del tipo de teléfono, fijo o móvil, por lo que no se puede relacionar con un domicilio. Estos atributos son independientes entre sí sí. Para mantener la relación consistente es necesario expresar todas las combinaciones de los atributos.

113

Dependencias multivaloradas

Nombre Ana Almansa Ana Almansa Ana Almansa Ana Almansa Ana Almansa Ana Almansa

Empleados Dirección c/ Argentales c/ Argentales c/ Argentales c/ Amaniel c/ Amaniel c/ Amaniel

Teléfono 1 2 3 1 2 3

114

Dependencias multivaloradas  Mientras

que las dependencias funcionales impiden que aparezcan ciertas tuplas en las relaciones, las dependencias multivaloradas obligan a ello.  Las dependencias multivaloradas aparecen cuando en un esquema de relación hay varias relaciones 1:N independientes entre sí.

115

Dependencias multivaloradas  Definición 

  

10.

Dados dos subconjuntos de atributos X e Y y un esquema R, la dependencia multivalorada X Y ( X multidetermina a Y) especifica la siguiente restricción sobre la relación r del esquema R: si existen en r dos tuplas t1 y t2 tales que t1[X]= t2[X], entonces deben existir dos tuplas, t3 y t4, tales que: t1[X]= t2[X]= t3[X]= t4[X], [X] t1[Y]= t3[Y] y t2[Y]= t4[Y], t2[Z]= t3[Z] y t1[Z]= t4[Z] donde Z=R-(X Y)

116

Dependencias multivaloradas  Esta

definición es más sencilla de lo que parece si se observa el siguiente gráfico.

t1 t2 t3 t4 117

Dependencias multivaloradas  En

definitiva se imponen todas las combinaciones de los valores de los atributos Y y Z.  Si Z es vacío o sus valores son únicos, necesariamente t1 =t3 y t2 =t4 , es decir, estamos hablando sólo de dos tuplas.

t1 t2 118

Dependencias multivaloradas  Informalmente

se dice que siempre que existan dos tuplas con valores iguales de X pero distintos de Y, los valores de Y se deben repetir en tuplas separadas por cada valor distinto de Z.  En definitiva, con esta restricción se dice que la relación entre X e Y es independiente de la relación entre X y Z

119

Dependencias multivaloradas  Ejemplo 





11.

En el ejemplo anterior se observan las restricciones multivaloradas {Nombre} {Dirección} y {Nombre} {Teléfono} . Debido a la simetría de la definición (se pueden intercambiar los papeles de Y y Z ) se deduce que si se cumple X Y , entonces también se cumple X Z, que se representa de forma compacta como X Y|Z.

120

Dependencias multivaloradas triviales  Definición 







11.

Una dependencia multivalorada X X o X Y=R .

Y se denomina trivial si Y

Se denomina trivial porque no aporta ninguna restricción relevante al esquema. En el primer caso, Y X , sólo se impone que un subconjunto de l valores los l dde X esté té asociado i d siempre i a llos valores l dde X X, llo cuall es trivialmente cierto. El segundo caso se vio en la definición de dependencia multivalorada.

121

Reglas de inferencia para las dependencias multivaloradas 

Para las dependencias multivaloradas también se proponen axiomas de producción que permiten calcular el cierre de un conjunto de ellas. 1.

Reflexividad para dependencias funcionales: 

2.

Y, entonces XZ

YZ.

Si X

YeY

Z, entonces X

Z.

Complemento para dependencias multivaloradas: 

5.

Si X

Transitividad para dependencias funcionales: 

4.

Y.

Aumentatividad para dependencias funcionales: 

3.

Si Y X, entonces X

Si X

Y, entonces X

R- (X Y)

Aumentatividad para dependencias multivaloradas: 

Si X

Y y V W, entonces WX

VY.

122

Reglas de inferencia para las dependencias multivaloradas 

6. Transitividad para dependencias multivaloradas: 

 

Si X

YeY

Z, entonces X

(Z-Y)

7. Si X Y, entonces X Y. 8. Si , X Y, y Z Y existe un W disjunto de Y, entonces W X Z.

Zy

123

Reglas de inferencia para las dependencias multivaloradas  Las

tres primeras son las mismas reglas que los axiomas de Armstrong, las tres siguientes se refieren a dependencias multivaloradas y las dos últimas se refieren tanto a dependencias multivaloradas como funcionales.  En concreto, la séptima se refiere a que una dependencia funcional es un caso particular de una dependencia multivalorada.  Se puede demostrar que este conjunto de reglas de inferencia es correcto y completo para calcular el cierre de un conjunto de dependencias, denotado por S+.

124

Dependencias multivaloradas  Las

dependencias multivaloradas permiten asegurar la consistencia cuando se expresan atributos multivalorados independientes en un único esquema de relación.  Las dependencias funcionales permiten establecer relaciones uno a varios y uno a uno entre los atributos de un esquema de relación, mientras que las dependencias multivaloradas permiten expresar relaciones varios a varios.

125

Dependencias multivaloradas  Las

dependencias funcionales y multivaloradas se usarán como herramienta fundamental en el proceso de normalización de esquemas.  Además son útiles en la comprobación de consistencia de relaciones resultado de migraciones y de sistemas heredados.

126...


Similar Free PDFs