cilred.com PRODUCTO CARTESIANO ING. EDUARDO CRUZ ROMERO [email protected] cilred.com Ing. Eduardo Cruz Romero [email protected] www.cilred.com PRODUCTO CARTESIANO El producto cartesiano es una operación que, a partir de dos relaciones, obtiene una nueva relación formada por todas las tuplas que resultan de concatenar tuplas de la primera relación con tuplas de la segunda. “Producto cartesiano: operación relacional en dos relaciones, A y B, que producen una tercera relación, C; Con C que contiene la concatenación de cada renglón en A con cada renglón en B.” DAVID M. KROENKE PROCESAMIENTO DE BASE DE DATOS. FUNDAMENTOS, DISEÑO E IMPLEMENTACIÓN. OCTAVA EDICIÓN PEARSON PRENTICE HALL. 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. 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. Descargado de: http://documentos.cilred.com/ Ing. Eduardo Cruz Romero [email protected] www.cilred.com Ejemplo: R x S: Obtiene todas las eneadas que se construyen concatenando cada eneadade R con otra de S. En este caso los dominios de R y S no tienen que ser los mismos. A partir de dos relaciones especificadas, construye una relación que contiene todas las combinaciones posibles de tuplas, una de cada una de las dos, esto es, los pares ordenados, por ejemplo: R S RxS Descargado de: http://documentos.cilred.com/ Ing. Eduardo Cruz Romero [email protected] www.cilred.com El producto cartesiano es una operación binaria. Siedo T y S dos relaciones que cumple que sus esquemas no tienen ningún nombre de atributo común, el producto cartesiano de T y S se indica como T x S, donde T es la tabla departamento y S es la tabla empleado. Se crean las tablas departamento y empleado, se insertar registros en cada una de las tablas: Descargado de: http://documentos.cilred.com/ Ing. Eduardo Cruz Romero [email protected] www.cilred.com Obtener el producto cartesiano: SELECT * FROM departamento, empleado; Descargado de: http://documentos.cilred.com/ Ing. Eduardo Cruz Romero [email protected] www.cilred.com SELECT * FROM empleado, departamento; Descargado de: http://documentos.cilred.com/ Ing. Eduardo Cruz Romero [email protected] www.cilred.com SELECT * FROM departamento, departamento dep; Descargado de: http://documentos.cilred.com/