ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Producto Cartesiano En Mysql


Enviado por   •  14 de Noviembre de 2014  •  543 Palabras (3 Páginas)  •  990 Visitas

Página 1 de 3

El producto cartesiano es un tipo de composición de tablas, aplicando el producto cartesiano a dos tablas se obtiene una tabla con las columnas de la primera tabla unidas a las columnas de la segunda tabla, y las filas de la tabla resultante son todas las posibles concatenaciones de filas de la primera tabla con filas de la segunda tabla.

La sintaxis es la siguiente:

El producto cartesiano se indica poniendo en la FROM las tablas que queremos componer separadas por comas, podemos obtener así el producto cartesiano de dos, tres, o más tablas.

nbtabla puede ser un nombre de tabla o un nombre de consulta. Si todas las tablas están en una base de datos externa, añadiremos la cláusula IN basedatosexterna después de la última tabla. Pero para mejorar el rendimiento y facilitar el uso, se recomienda utilizar una tabla vinculada en lugar de la cláusula IN.

Hay que tener en cuenta que el producto cartesiano obtiene todas las posibles combinaciones de filas por lo tanto si tenemos dos tablas de 100 registros cada una, el resultado tendrá 100x100 filas, si el producto lo hacemos de estas dos tablas con una tercera de 20 filas, el resultado tendrá 200.000 filas (100x100x20) y estamos hablando de tablas pequeñas. Se ve claramente que el producto cartesiano es una operación costosa sobre todo si operamos con más de dos tablas o con tablas voluminosas.

Se puede componer una tabla consigo misma, en este caso es obligatorio utilizar un nombre de alias por lo menos para una de las dos.

Por ejemplo: SELECT * FROM empleados, empleados emp

En este ejemplo obtenemos el producto cartesiano de la tabla de empleados con ella misma. Todas las posibles combinaciones de empleados con empleados.

Para ver cómo funciona el producto cartesiano cogemos las consultas [existencias cero] y [pedidos 90] creadas en la página anterior, y creamos una consulta que halle el producto cartesiano de las dos.

SELECT *

FROM [existencias cero],[pedidos 90]

obtenemos la siguiente tabla:

Se observa que tenemos las dos filas de la primera consulta combinadas con las dos filas de la segunda.

Esta operación no es de las más utilizadas, normalmente cuando queremos componer dos tablas es para añadir a las filas de una tabla, una fila de la otra tabla, por ejemplo añadir a los pedidos los datos del cliente correspondiente, o los datos del representante, esto equivaldría a un producto cartesiano con una selección de filas:

SELECT

...

Descargar como (para miembros actualizados)  txt (3.3 Kb)  
Leer 2 páginas más »
Disponible sólo en Clubensayos.com