6 votos

¿Es el producto cartesiano lo mismo que el SQL Full Outer Join?

¿Es el producto cartesiano lo mismo que el Full Outer Join de las bases de datos relacionales? Lo pregunto porque estoy tomando un curso de Matemáticas Discretas y sólo quiero entender mejor cómo lo que estoy estudiando (Producto Cartesiano) se aplica o mapea a lo que hago cuando desarrollo software (Uniones SQL).

11voto

sliders_alpha Puntos 168

No: el producto cartesiano no es lo mismo que el SQL FULL OUTER JOIN .

Por ejemplo: si A = {1,2} y B = , entonces A × B = {1,2} × = , es decir, el producto cartesiano produce el conjunto vacío. Pero, como FULL OUTER JOIN no requiere que cada registro de las dos tablas unidas tenga un registro coincidente, si B está vacío y A no, FULL OUTER JOIN seguirá devolviendo algunas filas.

Sin embargo, CROSS JOIN devolverá el Producto cartesiano de filas de las tablas en la unión.

El vínculo entre es SQL y las matemáticas discretas es álgebra relacional (véase. Teorema de Codd ) si quieres comprobar más las matemáticas que hay detrás de SQL.

2 votos

Excelente. Muchas gracias Frank.

0 votos

No, la unión cruzada se llama "producto cartesiano relacional" pero no es un producto cartesiano. La salida de la unión cruzada contiene la unión/junta/concatenación de los elementos de los conjuntos de entrada. El producto cartesiano de n conjuntos devuelve n tuplas, que aquí serían 2 tuplas donde cada elemento es una tupla de entrada. La unión cruzada devuelve un determinado subconjunto del producto cartesiano de determinadas proyecciones de las tablas de entrada.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X