Operación de producto cartesiano en álgebra relacional

Prerrequisito – Álgebra relacional
Ya somos conscientes del hecho de que las relaciones no son más que un conjunto de tuplas, y aquí tendremos 2 conjuntos de tuplas.

Al aplicar el PRODUCTO CARTESIANO sobre dos relaciones es decir sobre dos conjuntos de tuplas, tomará una a una cada tupla del conjunto(relación) de la izquierda y las emparejará con todas las tuplas del conjunto(relación) de la derecha.

Entonces, el PRODUCTO CRUZ de dos relaciones A(R1, R2, R3, …, Rp) con grado p, y B(S1, S2, S3, …, Sn) con grado n, es una relación C(R1, R2, R3, …, Rp, S1, S2, S3, …, Sn) con atributos de grado p + n.

El PRODUCTO CRUZADO es una operación de conjuntos binarios, a la vez podemos aplicar la operación sobre dos relaciones. Pero las dos relaciones sobre las que estamos realizando las operaciones no tienen el mismo tipo de tuplas, lo que significa que no es necesaria la compatibilidad de Unión (o compatibilidad de Tipo) de las dos relaciones.

Notación:

A ✕ S

donde A y S son las relaciones,
el símbolo ‘✕’ se usa para denotar el operador PRODUCTO CRUZADO.

Ejemplo:
considere dos relaciones ESTUDIANTE (SNO, FNAME, LNAME) y DETALLE (ROLLNO, AGE) a continuación:

SNO FNAME LNOMBRE
1 Alberto Singh
2 nora Fatehi


ROLLNO AÑOS
5 18
9 21

Al aplicar PRODUCTO CRUZADO sobre ESTUDIANTE y DETALLE:

STUDENT ✕ DETAILS

SNO FNAME LNOMBRE ROLLNO AÑOS
1 Alberto Singh 5 18
1 Alberto Singh 9 21
2 nora Fatehi 5 18
2 nora Fatehi 9 21

Podemos observar que el número de tuplas en la relación ESTUDIANTE es 2, y el número de tuplas en DETALLE es 2. Entonces el número de tuplas en la relación resultante al realizar el PRODUCTO CRUZADO es 2*2 = 4.

Puntos importantes sobre la operación del PRODUCTO CARTESIANO (PRODUCTO CRUZADO):

  1. La cardinalidad (número de tuplas) de la relación resultante de una operación de producto cruzado es igual al número de atributos (digamos m) en la primera relación multiplicado por el número de atributos en la segunda relación (digamos n).
    Cardinality = m*n
  2. El Producto Cruzado de dos relaciones A(R1, R2, R3, …, Rp) con grado p, y B(S1, S2, S3, …, Sn) con grado n, es una relación C(R1, R2, R3, …, Rp, S1, S2, S3, …, Sn) con atributos de grado p + n.
    Degree = p+n
  3. En SQL , el PRODUCTO CARTESIANO (PRODUCTO CRUZADO) se puede aplicar usando CROSS JOIN.
  4. En general, no usamos el Producto cartesiano innecesariamente, lo que significa que no usamos el Producto cartesiano sin el significado adecuado. Generalmente, usamos el producto cartesiano seguido de una operación de selección y comparación de los operadores como se muestra a continuación:
    σ A=D (A ✕ B)

    La consulta anterior da resultados significativos.

    Y esta combinación de la operación Select y Cross Product es tan popular que la operación JOIN está inspirada en esta combinación.

  5. El PRODUCTO CRUZADO es una operación de conjuntos binarios, a la vez podemos aplicar la operación sobre dos relaciones.

Publicación traducida automáticamente

Artículo escrito por bikashdutta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *