Operación Unión
Tipo: Binaria
Sintaxis:
Tabla1 U Tabla2
Descripción: Esta operación reúne o junta las tuplas de Tabla1 con las de Tabla2 en un mismo resultado.
Ejemplo: Para hacer un ejemplo de unión, por ser una operación binaria, se necesitan dos tablas. Por lo tanto, a la tabla que se viene trabajando (Carro) se va a adicionar la siguiente tabla:
Bus |
Placa PK Marca Color |
Se supone color como univalorado.
Se desea listar los datos de los automóviles en general (carros y buses).
Lo que se pide, se ajusta perfectamente a lo que hace la operación de Unión. Se necesita poner los datos de los carros y de los buses en un solo resultado. Por lo tanto, se puede pensar que la solución es la siguiente:
Carro U Bus
Analizando el posible resultado de dicha unión, y teniendo en cuenta que el resultado de la operación es otra tabla (Tabla3), dicho resultado tendría la siguiente apariencia:
Fuente Propia.
Como se puede observar, la Tabla3 resultante tendría una característica que no es válida en el modelo relacional: una tabla no puede tener en ciertas tuplas cuatro atributos y en otras tuplas tres atributos.
Por lo tanto, para hacer la unión de dos tablas, se TIENE que cumplir la condición de que ambas tablas tengan la misma aridad, es decir, la misma cantidad de atributos.
Para poder solucionar el problema y hacer que ambas tablas cumplan con la condición, supongamos la tabla CARRO sin el campo capacidad. Es decir, ambas tablas tendrían tres atributos.
Al hacer la unión entre CARRO y BUS, el resultado (Tabla3) quedaría con el siguiente aspecto:
Fuente Propia.
Se soluciona el problema de que ya TODA la Tabla3 quedaría con tres atributos. Pero si se analiza bien, hay otra situación que no puede pasar en una tabla del modelo relacional. El tercer atributo de la tabla CARRO es el modelo, el cual es de tipo entero. Y el tercer atributo de la tabla BUS es el color, el cual es de tipo string. Es decir, en la Tabla3 hay ciertas tuplas donde el tercer atributo es entero y otras tuplas donde ese mismo atributo es string. Eso no es posible en el modelo relacional.
Por lo tanto, para hacer la unión de dos tablas se tiene que cumplir una segunda condición: los atributos correspondientes en las dos tablas deben ser del mismo tipo.
Importante: Para poder hacer Tabla1 U Tabla2, se tienen que cumplir dos condiciones: Tabla1 y Tabla2 tienen que ser de la misma aridad y los atributos correspondientes de Tabla1 con los de Tabla2 tienen que ser del mismo tipo de dato.
Es así, entonces, que cuando se va a hacer la unión de dos tablas, se proyectan los campos en común de ambas tablas. Por lo tanto, para listar los datos de todos los automóviles se haría lo siguiente:
Π placa, marca (Carro) U Π placa, marca (Bus)
Lo anterior es lo mismo que Π placa, marca (Carro U Bus)?