Álgebra relacional <> Project (): • Devuelve un atributo vertical (columna). • Crea una nueva relación a partir de otra. • Se puede extraer más de una columna. • Se eliminan las tuplas duplicadas que pudieran resultar. T1 T2 A,C(T1) Select (): • Permite seleccionar las tuplas de una relación que cumplen una determinada condición. • Da como resultado una nueva relación. B>=2(T1) A B 2 2 3 3 Unión (U): C 1 2 • La unión de dos tablas R y S es el conjunto de las tuplas que están en R, en S o en las dos. • Si existe alguna tupla repetida sólo se escribirá una vez en el resultado. • Requiere que R y S tengan el mismo rango. T3 A 1 4 B 1 5 C 2 6 T1 U T3 A 1 2 3 4 B 1 2 3 5 C 2 1 2 6 Intersección ("): • Dadas dos tablas R y S, su intersección es el conjunto de las tuplas que están en R y en S. • Requiere que R y S tengan el mismo rango. T1 " T3 A B C 1 1 2 Diferencia (−): // Except o Minus • La diferencia de dos tablas R y S es una nueva relación en la que se encuentran las tuplas que pertenecen a R y que no pertenecen a S. 1 T1 − T3 A B C 2 2 1 3 3 2 Producto cartesiano (X): // Cross join • Crea una nueva relación, a través de dos tablas R y S, cuyas tuplas se obtienen concatenando cada tupla de R con cada tupla de S. T1 X T2 A B 1 1 1 1 2 2 2 2 3 3 3 3 División (:): C 2 2 1 1 2 2 D 1 4 1 4 1 4 E 2 3 2 3 2 3 F 2 3 2 3 2 3 • Aplicado a dos relaciones que tengan atributos comunes, devuelve una tercera que contiene todas las tuplas de la primera relación que se puede hacer que correspondan con todos los valores de la segunda relación. T4 A 031 031 031 015 B 1 2 1 4 C ab ac ac df T5 C ab ac T4 : T5 A 031 B 1 Equireunión: • A partir de dos relaciones R1 y R2, permite crear una R3 de la forma que fijado un elemento común a R1 y R2 reúne horizontalmente las 2 relaciones respecto a los mismos valores del atributo fijado. • Reunión de información de dos tablas R y S, utiliznado para ello atributos comunes e iguales. • No elimina atributos repetidos. 2 Reunión natural (<>): • Concatena dos relaciones a partir de un atributo común. • Elimina las posibles columnas repetidas. T6 A C E 1 2 2 4 3 3 Reunión condicional: T1<>R.A=S.AT6 A B 1 1 C 2 E 2 • Une dos relaciones con base a dos atributos. • Es como obtener el producto cartesiano ampliado de las dos relaciones y aplicarle una selección. Join externo: • Permite establecer vistas externas sin pérdida de información. • Genera una relación R3 a partir de R1 y R2, añadiendo las tuplas de R1 y R2 no generadas por el join completadas con valores nulos en los campos omitidos. Semi join (<): • Genera una relación R3 a partir de R1 y R2 que contiene los atributos de R1 con las tuplas de R1 yuntadas con al menos una tupla de R2. • Es equivalente a un join de R1 y R2 seguido por la proyección sobre los atributos de R1. • Similar al natural join • Sólo se muestran los atributos de la primera relación (relación de la izquierda). T1<A,AT6 A B 1 1 C 2 Complemento: • El complemento de una R1 es una R2 que contiene todas las tuplas que pertenecen al producto cartesiano de los dominios de los atributos de R1 que no aparecen en el producto cartesiano. Descomposición: //Slip • Produce dos nuevas relaciones. • A partir de R y una condición genera dos relaciones: R1 que contiene las tuplas que satisfacen la condición y R2 que contiene las tuplas que no la satisfacen. Clausura transitiva: • Permite generar nuevas tuplas a partir de una relación R y añadirlas a la misma relación a partir de los atributos [A1, A2]. Si [a,b] y [b,c] [a,c]. • La clausura transitiva de una relación R se obtiene agregando a R todos los pares nuevos que surjan al calcular las sucesivas composiciones de R consigo misma. Resumen: 3 Equi Join = Inequi Join <, >, >= Natural Join = (sin repetición de columnas) • 4