Reglas de codd
Enviado por verogabee • 20 de Octubre de 2018 • Resumen • 2.402 Palabras (10 Páginas) • 84 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
...