Reglas de codd
verogabeeResumen20 de Octubre de 2018
2.402 Palabras (10 Páginas)110 Visitas
2. Redundancia y consistencia.
2.1. OPERACIONES EN RELACIONES
Como las relaciones son conjuntos, todas las operaciones de conjunto habituales son aplicable a ellos. Sin embargo, el resultado puede no ser una relación; por ejemplo, la unión de una relación binaria y una relación ternaria no es una relación.
Las operaciones que se analizan a continuación son específicamente para relaciones.
Estas operaciones se introducen por su papel clave en derivar relaciones de otras relaciones. Su aplicación principal es en sistemas no informativos, Sistemas que no proporcionan servicios de inferencia lógica, aunque su aplicabilidad no necesariamente es destruida cuando se agregan tales servicios.
La mayoría de los usuarios no están directamente interesados en estas operaciones, diseñadores de sistemas de información y personas interesadas en el control de bancos de datos. Sin embargo, deberían estar completamente familiarizado con ellos.
2.1.1. Permutación.
Una relación binaria tiene una representación de matriz con dos columnas. Intercambiar estas columnas produce la relación inversa.
Generalmente, si se aplica una permutación a las columnas de una relación n-aria, se dice que la relación resultante es una permutación de la relación dada. Hay, por ejemplo, 4! = 24 permutaciones de la relación de suministro en la Figura 1, si incluimos la permutación de identidad que deja el orden de las columnas sin cambios.
Dado que el modelo relacional del usuario consiste en una colección de relaciones (relaciones desordenadas de dominio), la permutación no es relevante para un modelo considerado de forma aislada. Sin embargo, es relevante para la consideración de representaciones almacenadas del modelo. En un sistema que proporciona una explotación simétrica de las relaciones, el conjunto de consultas que responde una relación almacenada es idéntico al conjunto que responde por cualquier permutación de esa relación. Aunque es lógicamente innecesario almacenar tanto una relación como una cierta permutación de la misma, las consideraciones de rendimiento podrían hacerlo aconsejable.
2.1.2. Proyección.
Supongamos que ahora seleccionamos ciertas columnas de una relación (eliminando las demás) y luego eliminamos de la matriz resultante cualquier duplicación en las filas. La matriz final representa una relación que se dice que es una proyección de la relación dada.
Un operador de selección 71 'se utiliza para obtener cualquier permutación, proyección o combinación deseada de las dos operaciones. Por lo tanto, si L es una lista de k índices7 L i1, i2, · · •, ik y R es una relación n-aria (n k), entonces 'Tl'L (R) es la relación k-aria cuya jth la columna es la columna i¡ de R (.j = 1, 2, · · ·, k) excepto que se elimina la duplicación en las filas resultantes. Considere la relación de suministro de la figura l. En la Figura 4 se muestra una proyección permutada de esta relación. Observe que, en este caso particular, la proyección tiene menos n-tuplas que la relación de la cual se deriva.
2.1.3. Unirse.
Supongamos que nos dan dos relaciones binarias, que tienen algún dominio en común. ¿Bajo qué circunstancias podemos combinar estas relaciones para formar un
7 Cuando se trata de relaciones, usamos nombres de dominio (calificados siempre que sea necesario) en lugar de posiciones de dominio.
¿Relación ternaria que preserva toda la información en las relaciones dadas?
El ejemplo de la Figura 5 muestra dos relaciones R, S, que se pueden unir sin pérdida de información, mientras que la Figura 6 muestra una unión de R con S. Una relación binaria R se puede unir con una relación binaria S si existe una relación ternaria U como que 11 "12 (U) R y 71'2s (U) = S. Cualquier relación ternaria se llama ajoin de R con S. Si R, S son relaciones binarias tales que 71'2 (R) = 71'1 ( S), entonces R se puede unir a S. Una unión que siempre existe en tal caso es la unión natural de R con S definida por
R * S {(a, b, c): R (a, b) / \ S (b, c)}
donde R (a, b) tiene el valor verdadero si (a, b) es un miembro de R y de manera similar para S (b, e). Es inmediato que
11'12 (R * S) = R
y
Tenga en cuenta que la unión que se muestra en la Figura 6 es la unión natural de R con S de la Figura 5. Otra combinación se muestra en la Figura 7.
Ila1 (suministro) (proveedor del proyecto)
Frn. 4. Una proyección permutada de la relación en la Figura 1.
Frn. 5. Dos relaciones de unión.
Frn. 6. La unión natural de R con S (de la Figura 5)
Frn. 7. Otra unión de R con S (de la Figura 5)
La inspección de estas relaciones revela un elemento (elemento
1) de la parte del dominio (el dominio en el que se unió
se hará) con la propiedad que posee más
de un pariente bajo R y también bajo S. Es este elemento
Lo que da lugar a la pluralidad de uniones. Tal elemento
En el dominio de unión se llama un punto de ambigüedad.
con respecto a la unión de R con S.
Si o bien ~ 1 (R) o S es una función: no hay punto de ambigüedad
puede ocurrir al unir R con S. En tal caso, lo natural
la unión de R con S es la única unión de R con S. Tenga en cuenta que la
La calificación reiterada “de R con S” es necesaria, porque
S podría unirse con R (así como R con S), y esto
unirse sería una consideración completamente separada. En figura
5, ninguna de las relaciones R, 7r21 (R), S,? Rzl (S) es una función.
La ambigüedad en la unión de R con S a veces puede ser
Resuelto mediante otras relaciones. Supongamos que nos dan,
o puede derivar de fuentes independientes de R y S, una relación
T en el proyecto de dominios y proveedor con lo siguiente
propiedades:
(1) m(T) = m(S),
(2) m(T) = al(R),
(3) T(i s> +~P(R(& P> A S(P,~))~
(4) R(s, P> -+ 3j(Soj\,.i) * T(.A s)),
(5) S@,.i) + 3s(T(.?, s> A R(s, P>>,
entonces podemos formar una unión de tres vías de R, S, T; eso es un relación ternaria tal que
mz(U) = R, 7r23(U) = s, ml(U) = T.
Dicha unión se llamará una 3-unión cíclica para distinguirla a partir de una unión S lineal que sería una relación cuaternaria V tal que
m(V) = R, lr23W) = s, lr34(V) = T.
Si bien es posible que exista más de una unión 3 cíclica (ver Figuras 8,9, para un ejemplo), las circunstancias bajo lo que esto puede ocurrir conlleva restricciones mucho más severas
La figura 8. Relaciones binarias con una pluralidad de 3-uniones cíclicas.
La figura 9. Dos 3-uniones cíclicas de las relaciones en la Figura 8
que los de una pluralidad de 2 uniones. Para ser específicos, las relaciones.
R, S, T debe poseer puntos de ambigüedad con respecto a unir R con S (diga punto x), S con T (decimos y), y T con R (diga a), y, además, y debe ser un relativo de x bajo S, z a relativo de y debajo de T, y x a relativa de z debajo de R. Note que en la Figura 8 los puntos 2 = a; y = d; x = 2 tiene esta propiedad. La 3-unión lineal natural de tres relaciones binarias R, S, T está dada por
R*S*T = { (a, b, c, d):R (a, b) A S (b, c) A T (c, d)}
donde no se necesitan paréntesis en el lado izquierdo porque
El 2-join natural (*) es asociativo. Para obtener el
Contraparte cíclica, introducimos el operador y que produce.
una relación de grado n - 1 de una relación de grado n
atando sus extremos juntos. Por lo tanto, si R es una relación n-aria
(n 2 2), el empate de R está definido por la ecuación
r(R) = {(a~, a2, .-. , a,-l):R(ul, az, ... , a,-~, a,)
A al = a,).
Ahora podemos representar la unión S cíclica natural de R, S, T por la expresión
...