Title | Restricciones de integridad |
---|---|
Author | Juancar Valle |
Course | Bases de Datos |
Institution | UNED |
Pages | 63 |
File Size | 1.6 MB |
File Type | |
Total Downloads | 33 |
Total Views | 119 |
Download Restricciones de integridad PDF
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...