DBMS - Uniones

Entendemos los beneficios de tomar un producto cartesiano de dos relaciones, lo que nos da todas las tuplas posibles que están emparejadas. Pero puede que no sea factible para nosotros en ciertos casos tomar un producto cartesiano en el que encontramos relaciones enormes con miles de tuplas que tienen un número considerable de atributos.

Joines una combinación de un producto cartesiano seguido de un proceso de selección. Una operación de unión empareja dos tuplas de relaciones diferentes, si y solo si se cumple una condición de unión determinada.

Describiremos brevemente varios tipos de combinación en las siguientes secciones.

Theta (θ) Únete

Theta join combina tuplas de diferentes relaciones siempre que satisfagan la condición theta. La condición de unión se indica con el símboloθ.

Notación

R1 ⋈θ R2

R1 y R2 son relaciones que tienen atributos (A1, A2, .., An) y (B1, B2, .., Bn) tales que los atributos no tienen nada en común, es decir R1 ∩ R2 = Φ.

Theta join puede usar todo tipo de operadores de comparación.

Estudiante
SID Nombre Estándar
101 Alex 10
102 Maria 11
Asignaturas
Clase Tema
10 Matemáticas
10 Inglés
11 Música
11 Deportes

Student_Detail -

STUDENT Student.Std = Subject.Class SUBJECT

Student_detail
SID Nombre Estándar Clase Tema
101 Alex 10 10 Matemáticas
101 Alex 10 10 Inglés
102 Maria 11 11 Música
102 Maria 11 11 Deportes

Equijoin

Cuando Theta join usa solo equalityoperador de comparación, se dice que es equijoin. El ejemplo anterior corresponde a equijoin.

Unión natural ( )

La unión natural no utiliza ningún operador de comparación. No se concatena como lo hace un producto cartesiano. Podemos realizar una unión natural solo si existe al menos un atributo común entre dos relaciones. Además, los atributos deben tener el mismo nombre y dominio.

La unión natural actúa sobre los atributos coincidentes donde los valores de los atributos en ambas relaciones son iguales.

Cursos
CID Curso Departamento
CS01 Base de datos CS
ME01 Mecánica YO
EE01 Electrónica EE
Capacho
Departamento Cabeza
CS Alex
YO maya
EE Mira
Cursos ⋈ HoD
Departamento CID Curso Cabeza
CS CS01 Base de datos Alex
YO ME01 Mecánica maya
EE EE01 Electrónica Mira

Uniones externas

Theta Join, Equijoin y Natural Join se denominan uniones internas. Una combinación interna incluye solo aquellas tuplas con atributos coincidentes y el resto se descarta en la relación resultante. Por lo tanto, necesitamos usar combinaciones externas para incluir todas las tuplas de las relaciones de participación en la relación resultante. Hay tres tipos de combinaciones externas: combinación externa izquierda, combinación externa derecha y combinación externa completa.

Unión exterior izquierda (R S)

Todas las tuplas de la relación izquierda, R, se incluyen en la relación resultante. Si hay tuplas en R sin ninguna tupla coincidente en la relación Derecha S, entonces los atributos S de la relación resultante se hacen NULOS.

Izquierda
UN segundo
100 Base de datos
101 Mecánica
102 Electrónica
Correcto
UN segundo
100 Alex
102 maya
104 Mira
Cursos HoD
UN segundo C re
100 Base de datos 100 Alex
101 Mecánica --- ---
102 Electrónica 102 maya

Unión exterior derecha: (R S)

Todas las tuplas de la relación Derecha, S, se incluyen en la relación resultante. Si hay tuplas en S sin ninguna tupla coincidente en R, entonces los atributos R de la relación resultante se hacen NULL.

Cursos HoD
UN segundo C re
100 Base de datos 100 Alex
102 Electrónica 102 maya
--- --- 104 Mira

Unión externa completa: (R S)

Todas las tuplas de ambas relaciones de participación se incluyen en la relación resultante. Si no hay tuplas coincidentes para ambas relaciones, sus respectivos atributos no coincidentes se convierten en NULL.

Cursos HoD
UN segundo C re
100 Base de datos 100 Alex
101 Mecánica --- ---
102 Electrónica 102 maya
--- --- 104 Mira