Investigador

Páginas: 26 (6281 palabras) Publicado: 11 de diciembre de 2012
El producto cartesiano 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: |
|Si calculamos el producto cartesiano de EDIFICIOS_EMP y DESPACHOS, obtendremos una nueva relación que contiene todas las concatenaciones posibles de tuplas de EDIFICIOS_EMP con tuplas de DESPACHOS.Si se quiere calcular el producto cartesiano de dos relaciones que tienen algún nombre de atributo común, sólo hace falta re denominar previamente los atributos adecuados de una de las dosrelaciones. A continuación definimos los atributos y la extensión de la relación resultante de un producto cartesiano.
* Recordad que T y S no tienen ningún nombre de atributo común. |

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 oun nombre de consulta. Si todas las tablas están en una base de datos externa, añadiremos la cláusula IN base datos externa 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 dostablas 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 consigomisma, en este caso es obligatorio utilizar un nombre de alias por lo menos para una de las dos. 
Por ejemplo: SELECT * FROM empleados, empleados empEn 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 dostablas 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
FROM pedidos, clientes WHERE pedidos.clie=clientes.numclieCombinamos todos los pedidos con todos los clientes pero luego seleccionamoslos que cumplan que el código de cliente de la tabla de pedidos sea igual al código de cliente de la tabla de clientes, por lo tanto nos quedamos con los pedidos combinados con los datos del cliente correspondiente. Las columnas que aparecen en la cláusula WHERE de nuestra consulta anterior se denominan columnas de emparejamiento ya que permiten emparejar las filas de las dos tablas. Las columnasde emparejamiento no tienen por qué estar incluidas en la lista de selección. Normalmente emparejamos tablas que están relacionadas entre sí y una de las columnas de emparejamiento es clave principal, pues en este caso, cuando una de las columnas de emparejamiento tiene un índice definido es más eficiente utilizar otro tipo de composición, el INNER JOIN. |
El INNER JOIN |
El INNER JOIN es...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Investigador
  • Investigar
  • Que es investigar
  • Investigaciones
  • Investigaciones
  • Investigativo
  • Investigaciones
  • Investigaciones

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS