150 likes | 322 Views
Ingeniero Ricardo Cujar Rosero. SQL 4. Es un operador primitivo y binario que toma como entrada dos relaciones y produce una nueva. La estructura de la nueva relación tendrá la estructura correspondiente a la unión de las 2 relaciones de entrada.
E N D
Es un operador primitivo y binario que toma como entrada dos relaciones y produce una nueva. La estructura de la nueva relación tendrá la estructura correspondiente a la unión de las 2 relaciones de entrada. Los registros serán la concatenación de cada una de las tuplas de la relación 1 con todas las tuplas de la relación 2. Operación Producto Cartesiano (X)
Sea R(A,B) • Sea P(C,D, E) • R X P
Ejemplo • persona(cedula,nombre) • cargo(cedula, labor, oficina) • R X P
select * from <relación 1>, <relación 2> select * frompersona, cargo La operación producto Cartesiano es binaria, si se realiza la ste. operación: Select * from A,B,C,D Primero se hace AxB Luego (AxB)xC Luego (AxBxC)xD Implementación del Producto Cartesiano en SQL
Visualizar el nombre y la labor del señor Tino Asprilla . • Πpersona.nombre,cargo,labor(б(persona.nombre=tino asprilla)(personaxcargo)) • Primero se ejecuta la operación producto cartesiano (personax cargo) obteniendo el ste. resultado. Expresiones algebraicas con Proyección, restricción y producto cartesiano
Luego se realiza la operación restricción a la relación obtenida. б(persona.nombre=tino asprilla)
Por último se realiza la tercera operación, la proyección de los atributos nombre y labor. Πpersona.nombre,cargo,labor
selectpersona.nombre, cargo.laborfrompersona,cargowherepersona.nombre=Tino Asprilla. SQL
El Join es una operación binaria y derivada del producto cartesiano. Toma dos relaciones y produce una nueva concatenando las tuplas de la primera con las tuplas de la segunda que cumplan una condición determinada. Es un producto cartesiano restringido. JOIN
Sea R(A,B,C) P (C,D,E) R P (R.C=P.C)
Ejemplo • persona(cedula,nombre) • cargo(cedula, labor, oficina) • persona • cargo (persona.cedula=cargo.cedula)
Select * from persona, cargo wherepersona.cedula=cargo.cedula SQL
Visualizar el nombre, cedula y la labor de pepito perez. Selectpersona.nombre, persona.cedula, cargo.laborfrom persona, cargo wherepersona.nombre=pepito perez and persona.cedula=cargo.cedula Ejemplo con Join, proyección y restricción