You are on page 1of 8

create table prove(no_prov char (2), nombre Char (15), status integer,ciudad Char( 15)); la llave primaria es no_prov

insert into prove values('S1','SALAZAR',20,'LONDRES'); insert into prove values('S2','JARAMILLO',10,'PARIS'); insert into prove values('S3','BERNAL',30,'PARIS'); insert into prove values('S4','CALCEDO',20,'LONDRES'); insert into prove values('S5','ALDAMA',20,'ATENAS');

create table partes(no_parte char(2),nombre char(15), color char(10),peso integer,ciudad char( 15)); la llave pri maria es no_parte insert into partes values('P1','TUERCA',' ROJO',12,'LONDRES'); insert into partes values('P2','PERNO','VERDE',17,'PARIS'); insert into partes values('P3','TORN ILLO','AZUL',17,'ROMA'); insert into partes values('P4','TORN ILLO','ROJO',14,'LONDRES'); insert into partes values('P5','LEVA','AZUL',12,'PARIS'); insert into partes values('P6','RUEDA','ROJO',19,'LONDRES');

create table prov_par(no_prov char(2),no_parte Char(2),cantidad integer); las llaves forneas son no_prov y n o_parte

insert into prov_par values('S1','P1',300); insert into prov_par values('S1','P2',200); insert into prov_par values('S1','P3',400); insert into prov_par values('S1','P4',200); insert into prov_par values('S1','P5',100); insert into prov_par values('S1','P6',100); insert into prov_par values('S2','P1',300); insert into prov_par values('S2','P2',400); insert into prov_par values('S3','P2',200); insert into prov_par values('S4','P2',200); insert into prov_par values('S4','P4',300); insert into prov_par values('S4','P5',400);

Para los ejemplos que veremos, utilizaremos la base de datos curso que consta de las tablas PROVEEDOR, PARTE Y EMBARQUE com se observa en la figura 3.2.1.

PROVEEDOR S# S1 S2 S3 S4 S5 NOMBRE SALAZAR JARAMILLO BERNAL CAICEDO ALDAMA STATUS 20 10 30 20 30 CIUDAD LONDRES PARIS PARIS LONDRES ATENAS P# P1 P2 P3 P4 P5 P6 NOMBRE TUERCA PERNO TORNILLO TORNILLO LEVA RUEDA

PARTE COLOR ROJO VERDE AZUL ROJO AZUL ROJO

PESO 12 17 17 14 12 19

CIUDAD LONDRES PARIS ROMA LONDRES PARIS LONDRES

S# S1 S1 S1 S1 S1 S1 S2 S2 S3 S4 S4 S4

P# P1 P2 P3 P4 P5 P6 P1 P2 P2 P2 P4 P5

CANT. 300 200 400 200 100 100 300 400 200 200 300 400

EMBARQUE

Figura 3.2.1 Base de datos curso

EL ALGEBRA RELACIONAL
El Algebra relacional es un lenguaje de consulta procedural. Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relacin, por lo tanto, es posible anidar y combinar operadores, sin que cambien las relaciones originales, Tanto los operandos como los re sultados son relaciones, por lo que la salida de una operacin puede ser la entrada de otra operacin. Esto permite anidar expresiones del lgebra, A esta propiedad se le denomina clausura: El lgebra relacional permite entender el modelo relacional de ba ses de datos desde la perspectiva matemtica.
Conceptos bsicos:

Una Base de Datos Relacional muestra las tablas en forma de filas y columnas. Dominio. Es el conjunto de todos los valores permitidos que una columna puede tomar. Se tiene D1,D2,...,Dn, si tenemos n columnas. Tupla. Cada una de las filas de una tabla se compone de n elementos (V1,V2,..,Vn). En matemticas este conjunto ordenado de elementos se llama tupla. Relacin. se denomina relacin a una tabla y tupla a una fila de tabla. Los smbolos bsicos del lenguaje son: Smbolos de puntuacin: parntesis "(", ")" y coma ",". Smbolos de variables: se representan mediante letras minsculas del final del alfabeto: r, s, t, u, v, w, x, y, z. Operadores lgicos: (negacin),  (implicacin),  (conjuncin) y  (disyuncin). Cuantificadores: (cuantificador universal) y (cuantificador existencial). La jerarqua en la precedencia de los operadores y cuantificadores es (de mayor a menor): 1), , 2) 3) 4) Hay ocho operadores en el lgebra relacional que construyen relaciones y manipulan datos, La restriccin y la proyeccin son operaciones unarias porque operan sobre una sola relacin. El resto de las operaciones son binarias porque trabajan sobre pares de relaciones. estos son:

Seleccin Proyeccin Producto Unin Interseccin Diferencia Join Divisin

SELECCIN: Seleccin: Permite seleccionar un subconjunto de tuplas de una relacin (R), todas aquellas que cumplan la(s) condicin(es) P, esto es:

El operador de seleccin , selecciona un subconjunto de las tuplas de una relacin. Tuplas selecionadas son las que satisfacen cierto predicado lgico P. el predicado puede depender de los atributos de la relacin y de los valores constantes. El operador tomo una relacin como argumento y el resultado es una nueva relacin

Ejemplo: seleccionar todas las tuplas de la relacin (prove) donde ciudad sea igual a pars

R1=

cuidad= pars (prove)


No_prov S2 S3 nombre Jaramillo Bernal Status 10 30 ciudad Pars Pars

PROYECCIN Proyeccin: Permite extraer columnas (atributos) de una relacin, dando como resultado un subconjunto
vertical de atributos de la relacin, esto es:

El operador toma una relacin como argumento y el resultado es una nueva relacin. La operacin de proyeccin permite quitar ciertos atributos de la relacin, esta operacin es unaria, copiando su relacin base dada como argumento y quitando ciertas columnas, La proyeccin se seala con la letra griega pi mayscula ( ). Como subndice de se coloca una lista de todos los atributos que se desea aparezcan en el resultado. La relacin argumento se escribe despus de entre parntesis.

Ejempl

no_part nombre, peso (partes)


Nombre Tuerca Perno Tornillo Tornillo Leva Rueda peso 12 17 17 14 12 19

No_parte P1 P2 P3 P4 P5 P6

PRODUCTO: Producto: El producto obtiene una relaci n cuyas tuplas est n formadas por la concatenaci n de todas las tuplas de R con todas las tuplas de S. Es decir, Combina tuplas de cualquier dos (o mas relaciones, hace la combinaci n de todos con todos. La operaci n producto consiste en la reali aci n de un producto cartesiano entre dos tablas dando como resultado todas las posibles combinaciones entre los registros de la primera y los registros de la segunda.

Ej m l : obtener el producto de la relaci n prove


Relaci n prove:
No_prov S1 S2 S3 S4 S5 nombre Salazar Jaramillo Bernal Calcedo Aldama

Relaci n partes
No_parte P1 P2 P3 P4 P5 P6 nombre Tuerca Perno Tornillo Tornillo Leva Rueda color Rojo Verde Azul Rojo Azul Rojo peso 12 17 17 14 12 19 ciudad Londres Pars Roma Londres Pars Londres

pr

t el nu er de parte, nombre y peso de la relaci n (partes

x partes
ciudad Londres Pars Pars Londres Atenas

status 20 10 30 20 20

Producto cartesiano (prove x partes)


No_prov S1 S1 S1 S1 S1 S1 S2 S2 S2 S2 S2 S2 S3 S3 S3 S3 S3 S3 S4 S4 S4 S4 S4 S4 S5 S5 S5 S5 S5 S5 nombre Salazar Salazar Salazar Salazar Salazar Salazar Jaramillo Jaramillo Jaramillo Jaramillo Jaramillo Jaramillo Bernal Bernal Bernal Bernal Bernal Bernal Calcedo Calcedo Calcedo Calcedo Calcedo Calcedo Aldama Aldama Aldama Aldama Aldama Aldama status 20 20 20 20 20 20 10 10 10 10 10 10 30 30 30 30 30 30 20 20 20 20 20 20 20 20 20 20 20 20 ciudad Londres Londres Londres Londres Londres Londres Pars Pars Pars Pars Pars Pars Pars Pars Pars Pars Pars Pars Londres Londres Londres Londres Londres Londres Atenas Atenas Atenas Atenas Atenas Atenas No_parte P1 P2 P3 P4 P5 P6 P1 P2 P3 P4 P5 P6 P1 P2 P3 P4 P5 P6 P1 P2 P3 P4 P5 P6 P1 P2 P3 P4 P5 P6 nombre Tuerca Perno Tornillo Tornillo Leva Rueda Tuerca Perno Tornillo Tornillo Leva Rueda Tuerca Perno Tornillo Tornillo Leva Rueda Tuerca Perno Tornillo Tornillo Leva Rueda Tuerca Perno Tornillo Tornillo Leva Rueda color Rojo Verde Azul Rojo Azul Rojo Rojo Verde Azul Rojo Azul Rojo Rojo Verde Azul Rojo Azul Rojo Rojo Verde Azul Rojo Azul Rojo Rojo Verde Azul Rojo Azul Rojo peso 12 17 17 14 12 19 12 17 17 14 12 19 12 17 17 14 12 19 12 17 17 14 12 19 12 17 17 14 12 19 ciudad Londres Pars Roma Londres Pars Londres Londres Pars Roma Londres Pars Londres Londres Pars Roma Londres Pars Londres Londres Pars Roma Londres Pars Londres Londres Pars Roma Londres Pars Londres

Desplegar los nmeros de partes de todas las partes suministradas.

Optener los nmeros de proveedores con estatus mayores a 20 y que vivan en pars. Proyectar el status y ciudad de la relacin prove R9= No_prov, status, cuidad (parte) No_prov S1 S2 S3 S4 S5 Status 20 10 30 20 20 ciudad Londres Pars Pars Londres Atenas

SELECCIN DE TODAS LAS TUPLAS DONDE SU STATUS SEA MAYOR A 20 Y QUE VIVAN EN PARIS STAT S > 2O AND CIUDAD = Paris (R9) No_prov Status S3 30 No_prov S1 S2 S3 S4 S5

ciudad Pars status 20 10 30 20 20 ciudad Londres Pars Pars Londres Atenas

nombre Salazar Jaramillo Bernal Calcedo Aldama

You might also like