Sei sulla pagina 1di 9

CAP VII : Relacionando los Datos

Joins y el Modelo Relacional

La operacin de Junta (Join) es lo que ms distingue a los DBMS Relacionales del resto En los DBMS tipo red o jerrquicos las relaciones entre los datos son predefinidas En los DBMS relacionales, las relaciones se establecen al momento de consultar los datos, no al momento de crearlos

Relacionando los Datos

El Producto Cartesiano
num_fac cod_cli fecha 1 1 12/09/97 2 2 13/09/97 num_fac cod_prod cantidad 1 1 1 2 2 2

SELECT * FROM facturas, detalles


num_fac cod_cli fecha 1 1 12/09/97 1 1 12/09/97 2 2 13/09/97 2 2 13/09/97
Relacionando los Datos

num_fac cod_prod cantidad 1 1 1 2 2 2 1 1 1 2 2 2


3

El EquiJoin
num_fac cod_cli fecha 1 1 12/09/97 2 2 13/09/97 num_fac cod_prod cantidad 1 1 1 2 2 2

SELECT * FROM facturas, detalles WHERE facturas.num_fac = detalles.num_fac


num_fac cod_cli fecha 1 1 12/09/97 2 2 13/09/97
Relacionando los Datos

num_fac cod_prod cantidad 1 1 1 2 2 2


4

El Join Natural
num_fac cod_cli fecha 1 1 12/09/97 2 2 13/09/97 num_fac cod_prod cantidad 1 1 1 2 2 2

SELECT facturas.*,detalles.cod_prod, detalles.cantidad FROM facturas, detalles WHERE facturas.num_fac = detalles.num_fac


num_fac cod_cli fecha 1 1 12/09/97 2 2 13/09/97
Relacionando los Datos

cod_prod cantidad 1 1 2 2
5

El Uso de Alias
num_fac cod_cli fecha 1 1 12/09/97 2 2 13/09/97 num_fac cod_prod cantidad 1 1 1 2 2 2

SELECT f.num_fac,cod_cli,cod_prod, cantidad FROM facturas f , detalles d WHERE f.num_fac = d.num_fac


num_fac cod_cli cod_prod cantidad 1 1 1 1 2 2 2 2
Relacionando los Datos 6

Condiciones Adicionales
num_fac cod_cli fecha 1 1 12/09/97 2 2 13/09/97 num_fac cod_prod cantidad 1 1 1 2 2 2

SELECT cod_cli,cod_prod,cantidad FROM facturas f , detalles d WHERE f.num_fac = d.num_fac AND cantidad > 1
cod_cli cod_prod cantidad 2 2 2
Relacionando los Datos 7

Juntando mas de 2 Tablas


cod_cli cod_prod cantidad 2 2 2 cod_cli nombre ciudad 1 Jose Ica 2 Carlos Ica

SELECT nombre, cod_prod, cantidad FROM facturas f , detalles d, clientes c WHERE f.num_fac = d.num_fac AND f.cod_cli = c.cod_cli AND cantidad > 1
nombre cod_prod cantidad Carlos 2 2
Relacionando los Datos 8

Joins Naturales y Grupos


SELECT descripcion, SUM ( cantidad )

FROM productos p, detalles d


WHERE p.cod_prod = d.cod_prod

GROUP BY descripcion
descripcion Tuerca 150

Relacionando los Datos

Potrebbero piacerti anche