Está en la página 1de 10

1

Contenido :
Relacion
- Objetivo
- Ejemplo de una Relacion

Cmo relacionar las tablas

Base de Datos Scott

Compartir
informacin
entre 1 o mas
tablas

Tablas y Relaciones
Debe tener
un campo
comun
TbProducto

Cada producto lleva el cdigo


del proveedor al que Ud.se lo
compr.

TbVentas

Para cada venta (fila) se identifica el producto vendido


y el cliente que lo compr.

TbClientes

TbProveedor

Lenguaje SQL
Consultas multitabla
Hasta ahora todas las consultas que hemos
usado se refieren slo a una tabla, pero
tambin es posible hacer consultas usando
varias tablas en la misma sentencia
SELECT.
Esto nos permite realizar otras dos
operaciones de lgebra relacional que an
no hemos visto: el producto cartesiano y la
composicin.
8

Producto cartesiano
Este es un operador binario, se aplica a dos relaciones y el
resultado es otra relacin.
El resultado es una relacin que contendr todas las
combinaciones de las tuplas de los dos operandos.
Esto es: si partimos de dos relaciones, R y S, cuyos grados
son n y m, y cuyas cardinalidades a y b, la relacin
producto tendr todos los atributos presentes en ambas
relaciones, por lo tanto, el grado ser n+m. Adems la
cardinalidad ser el producto de a y b.
Para ver un ejemplo usaremos dos tablas inventadas al
efecto
9

tabla1(id, nombre, apellido) tabla2(id, nmero)


tabla1 id nombre apellido
15 Fulginio Liepez
26 Cascanio Suanchiez
El resultado del
producto cartesiano
de tabla1 x tabla2
es:

tabla2 id nmero
15 12345678
26 21222112
15 66525425
tabla1 x tabla2
id

nombre apellido

id nmero

15

Fulginio Liepez

15 12345678

26

Cascanio Suanchiez

15 12345678

15

Fulginio Liepez

26 21222112

26

Cascanio Suanchiez

26 21222112

15

Fulginio Liepez

15 66525425

26

Cascanio Suanchiez

15 66525425

Podemos ver que el


grado resultante es
3+2=5, y la
cardinalidad 2*3 = 6.

10

Producto Cartesiano
select P.cod_prod,P.nombre,P.cod_prov,
R.cod_prov,R.nombre as NombreProv
Filtra los registros
from producto P, provee R
asociados por el
producto cartesiano
where (P.cod_Prov = R.cod_Prov)
de las tablas.

11

Composicin (Join)
Una composicin (Join en ingls) es una
restriccin del producto cartesiano, en la
relacin de salida slo se incluyen las tuplas
que cumplan una determinada condicin.
La condicin que se usa ms
frecuentemente es la igualdad entre dos
atributos, uno de cada tabla.
ejemplo
12

INNER JOIN
SELECT Producto.cod_prod, Producto.nombre,
Provee.nombre as Proveedor
FROM Producto INNER JOIN Provee
ON (Producto.Cod_Prov = Provee.Cod_Prov)

Slo devuelve
los registros que
cumplen la
condicin
13

También podría gustarte