5.1.1. Union

5.1.1. Union Dataprix 11 Diciembre, 2009 - 15:05

                                         

La unión de las relaciones EMPLEADOS_ADM EMPLEADOS_PROD proporciona una nueva relación que contiene tanto a los empleados de administración como los empleados de producción; se indicaría así: EMPLEADOS_ADM  EMPLEADOS_PROD.

Sólo tiene sentido aplicar la unión a relaciones que tengan tuplas similares.

Por ejemplo, se puede hacer la unión de las relaciones EMPLEADOS_ADM EMPLEADOS_PROD porque sus tuplas se parecen. En cambio, no se podrá hacer la unión de las relaciones EMPLEADOS_ADM DESPACHOS porque, como habéis podido observar en las tablas, las tuplas respectivas son de tipo diferente.

Más concretamente, para poder aplicar la unión a dos relaciones, es preciso que las dos relaciones sean compatibles. Decimos que dos relaciones son relaciones compatibles si:

•Tienen el mismo grado.

•Se puede establecer una biyección entre los atributos de y los atributos de que hace corresponder a cada atributo Ai  de un atributo Aj  de S, de modo que se cumple que dominio(Ai) = dominio(Aj).

Ejemplo de relaciones compatibles

Las relaciones EMPLEADOS_ADM EMPLEADOS_PROD tienen grado 5. Podemos establecer la siguiente biyección entre sus atributos:

•   A DNI de EMPLEADOS_ADM le corresponde DNIemp de EMPLEADOS_PROD.

•   A nombre de EMPLEADOS_ADM le corresponde nombreemp de EMPLEADOS_PROD.

•   A apellido de EMPLEADOS_ADM le corresponde apellidoemp de EMPLEADOS_PROD.

•   A edificiodesp de EMPLEADOS_ADM le corresponde edificiodesp de EMPLEADOS_PROD.

•   A númerodesp de EMPLEADOS_ADM le corresponde edificiodesp de EMPLEADOS_PROD. Además, supondremos que los dominios de sus atributos se han declarado de forma que se cumple que el dominio de cada atributo de EMPLEADOS_ADM sea el mismo que el dominio de su atributo correspondiente enEMPLEADOS_PROD.

Por  todos  estos  factores,  podemos  llegar  a  la  conclusión  de  que  EMPLEADOS_ADM  EMPLEADOS_PROD son relaciones compatibles.

A continuación, pasaremos a definir los atributos y la extensión de la relación resultante de una unión.

 

                                      

No-repetición de tuplas
Notad que en caso de que 
una misma tupla esté en las 
dos relaciones que se unen, 
el resultado de la unión no la 
tendrá repetida. El resultado 
de la unión es una nueva rela-
ción por lo que no puede tener repeticiones de tuplas.

Ejemplo de unión

Si queremos obtener una relación que tenga a todos los empleados de la empresa del ejemplo anterior, llevaremos a cabo la unión de las relacionesEMPLEADOS_ADM EMPLEADOS_PROD de la forma siguiente:

R := EMPLEADOS_ADMEMPLEADOS_PROD.

Entonces la relación R resultante será la reflejada en la tabla siguiente:

El hecho de que los atributos de la relación resultante coincidan con los atributos de la relación que figura en primer lugar en la unión es una convención; teóricamente, también habría sido posible convenir que coincidiesen con los de la relación que figura en segundo lugar.