Sei sulla pagina 1di 6

Sistemas de Base de Datos

4.1.5.2.- Composicin Externa


Dadas las siguientes tablas, determinar la relacin de prstamos con sus respectivos saldos
TABLA PRESTAMO
ID_Prestamo PA-134 PA-345 PA-456 Importe 600 1200 850

TABLA AMORTIZACION
ID_Amortizacion
RC-234 RC-241

Importe
450 850

Id_Prestamo
PA-134 PA-456

Es la siguiente sentencia la solucin?


SELECT P.*, (P.Importe A.Importe) as Saldo FROM PRESTAMO P inner join AMORTIZACION A ON P.ID_Prestamo = A.ID_Prestamo

DAI - Ing. Arturo Rozas Huacho

Sistemas de Base de Datos

4.1.5.2.- Composicin Externa


La sentencia: FROM PRESTAMO P inner join AMORTIZACION A Genera la siguiente tabla
P.ID_Prestamo PA-134 PA-134 PA-345 PA-345 PA-456 PA-456 P.Importe 600 600 1200 1200 850 850 A.ID_Amortizacion RC-234 RC-241 RC-234 RC-241 RC-234 RC-241 A.Importe 450 850 450 850 450 850 A.Id_Prestamo PA-134 PA-456 PA-134 PA-456 PA-134 PA-456

La sentencia: ON P.ID_Prestamo = A.ID_Prestamo selecciona las tuplas que no estn subrayadas


P.ID_Prestamo PA-134 PA-134 PA-345 PA-345 PA-456 PA-456 P.Importe 600 600 1200 1200 850 850 A.ID_Amortizacion RC-234 RC-241 RC-234 RC-241 RC-234 RC-241 A.Importe 450 850 450 850 450 850 A.Id_Prestamo PA-134 PA-456 PA-134 PA-456 PA-134 PA-456

DAI - Ing. Arturo Rozas Huacho

Sistemas de Base de Datos

4.1.5.2.- Composicin Externa


P.ID_Prestamo PA-134 PA-134 PA-345 PA-345 PA-456 PA-456 P.Importe 600 600 1200 1200 850 850 A.ID_Amortizacion RC-234 RC-241 RC-234 RC-241 RC-234 RC-241 A.Importe 450 850 450 850 450 850 A.Id_Prestamo PA-134 PA-456 PA-134 PA-456 PA-134 PA-456

En Consecuencia la relacin resultante es:


P.ID_Prestamo
PA-134 PA-456

P.Importe
600 850

A.ID_Amortizacion
RC-234 RC-241

A.Importe
450 850

A.Id_Prestamo
PA-134 PA-456

El prstamo PA-345 ha sigo ignorado debido a que no empareja con ninguna de las tuplas de la tabla de AMORTIZACION
DAI - Ing. Arturo Rozas Huacho 3

Sistemas de Base de Datos

4.1.5.2.- Composicin Externa


Este tipo de composicin se utiliza cuando las cardinalidades mnimas son 0 (No son obligatorios).
PRESTAMO ID_Prestamo 1,n Importe AMORTIZACION O,1 ID_Amortizacion Importe

Como el modelo anterior indica que hay PRESTAMOS que no necesariamente estn relacionados con AMORTIZACIONES, entonces estas instancias desaparecern cuando se hace una Composicin Interna, en su lugar se debe realizar una Composicin Externa.

DAI - Ing. Arturo Rozas Huacho

4.1.5.2.- Composicin Externa


Sintaxis:
SELECT atributos FROM tabla1 (LEFT/RIGHT) OUTER JOIN tabla 2 ON tabla1.atributo=tabla2.atributo

Sistemas de Base de Datos

OUTER JOIN LEFT OUTER JOIN RIGHT OUTER JOIN

Considera los registros de ambas tablas Considera todos los registros de la tabla de la izquierda Considera todos los registros de la tabla de la derecha

DAI - Ing. Arturo Rozas Huacho

Sistemas de Base de Datos

4.1.5.2.- Composicin Externa


La solucin al problema propuesto es:
SELECT P.*, (P.Importe A.Importe) as Saldo FROM PRESTAMO P left outer join AMORTIZACION A ON P.ID_Prestamo = A.ID_Prestamo

La relacin resultante es:


P.ID_Prestamo
PA-134 PA-345 PA-456

P.Importe
600 1200 850

A.ID_Amortizacion
RC-234 null RC-241

A.Importe
450 null 850

A.Id_Prestamo
PA-134 null PA-456

DAI - Ing. Arturo Rozas Huacho

Potrebbero piacerti anche