Escolar Documentos
Profissional Documentos
Cultura Documentos
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
PESO 12 17 17 14 12 19
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
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: 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=
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_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.
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
x partes
ciudad Londres Pars Pars Londres Atenas
status 20 10 30 20 20
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