Lectura 3 Algebra Relacional

download Lectura 3 Algebra Relacional

of 23

Transcript of Lectura 3 Algebra Relacional

Lectura 3 - lgebra Relacional: Select, Project, JoinConceptos bsicos de lgebra relacionalAlgebra, en general, consiste de operadores y operandos atmicos, por ejemplo, en el lgebra de la aritmtica, los operandos atmicos son variable comor, y constantes como 15. Los operadores son los usuales en la aritmtica: Suma, Resta, Multiplicacin, Divisin.Cualquier lgebra nos permite construir expresiones mediante la aplicacin de operadores a operandos atmicos y/o otras expresiones del lgebra. En general, los parntesis son necesarios para agrupar operadores y sus operandos, por ejemplo, en aritmtica tenemos expresiones tales como(x+y)z((x+7)/(y3))+x.El lgebra Relacional es otro ejemplo del lgebra. Sus operandos atmicos son:1. Variables que representan relaciones.2. Constantes que son relaciones finitas.NotaEn algunos textos de lgebra relacional o SQL, una relacin es sinnimo de una tabla.Como mencionamos, en el lgebra relacional clsica, todos los operandos y sus resultados de expresiones son conjuntos. Los operadores del lgebra relacional tradicional se divide en cuatro grandes categoras:a. Los conjuntos habituales de operacionesunin,interseccin, ydiferenciase aplica a las relaciones.b. Las operaciones que eliminan parte de una relacin:seleccinelimina algunasfilas (o tuplas), yproyeccinelimina algunascolumnas.c. Las operaciones que combinan las tuplas de dos relaciones, como elproductocartesiano, que empareja las tuplas de dos relaciones en todas las maneras posibles y varios tipos de operadoresunin, los cuales forman parejas de tuplas de dos relaciones selectivamente.d. Una operacin llama renombrar que no afecta las tuplas de una relacin, pero que cambia el esquema de relacin, es decir, lo nombres de los atributos y/o los nombres de la relacin misma.Debemos por lo general referirnos a las expresiones del lgebra relacional como consultas. A pesar de que an no tengan los smbolos necesarios para mostrar muchas de las expresiones del algebra relacional, se debera familiarizar con las operaciones degrupo (a); y por lo tanto reconocer:RScomo un ejemplo de una expresin de lgebra relacional. DondeRySson operandos atmicos para relaciones, cuyos conjuntos de tuplas son desconocidas. Esta consulta pregunta por launinde cualquiera tuplas que estn en las relaciones nombradasRyS.Las tres operaciones ms comunes en conjuntos sonunin,interseccin, ydiferencia, que sern vistas en la lectura 4.NotaResumiendolgebra Relacionalse define como un conjunto de operaciones que se ejecutan sobre las relaciones (tablas) para obtener un resultado, el cual es otra relacin.Operaciones relacionales:Los operadores relacionales se utilizan para filtrar, cortar o combinar tablas.Seleccin(Select)Este operador se aplica a una relacinRproduciendo una nueva relacin con un subconjunto de tuplas deR. Las tuplas de la relacin resultante son las que satisfacen una condicinCsobre algn atributo deR. Es decir seleccionafilas (tuplas)de una tabla segn un cierto criterioC. El criterioCes una expresin condicional, similar a las declaraciones del tipo if, es booleana esto quiere decir que para cada tupla deRtoma el valor Verdad(true) o Falso(false). Valores de atributos con NULL no cumplirn ninguna condicin. Cada condicin simple o clusula C tiene el formato:}. donde, el campoComparadores unoperador lgico, que pueden ser{=,,>,: mayor que. 4 (once mayor que cuatro) es verdadera, se representa por el valor true del tipo bsico boolean, en cambio, 1130Ingenieros

En la imagen se ve que selecciona solo las filas que cumplen con la condicin que se peda (tener una edad mayor a 30 aos), la tupla de Josefa queda fuera de la seleccin por no cumplir la condicin (pues 25 < 30). De esta forma la tabla queda:Tabla Ingenierosid123234345nombreLeonTomasJoseedad393445aosTrabajados151021Ejemplo 2Seleccionar de la tablaIngenieroslas personas que tienen ms de 30 aos y que lleven menos de 16 aos trabajando:Respuesta(edad>30aosTrabajados30Ingenieros)

Se aprecia que las tuplas que no cumplan con la condicin de seleccin quedan fuera del resultado, luego se realiza unProjectsobre las filas del resultado, separando solo las columnas que contienen los atributos id y nombre. Finalmente la tabla queda de la siguiente manera:Tabla Ingenierosid123234345nombreLeonTomasJoseProducto cartesiano (Cross-Product)En teora de conjuntos, elproductocartesianode dos conjuntos es una operacin que resulta en otro conjunto cuyos elementos son todos los pares ordenados que pueden formarse tomando el primer elemento del par del primer conjunto, y el segundo elemento del segundo conjunto. En el lgebra Relacional se mantiene esta idea con la diferencia queRySson relaciones, entonces los miembros deRySson tuplas, que generalmente consisten de ms de un componente, cuyo resultado de la vinculacin de una tupla deRcon una tupla deSes una tupla ms larga, con un componente para cada uno de los componentes de las tuplas constituyentes. Es decirCross-productdefine una relacin que es la concatenacin de cada una de las filas de la relacinRcon cada una de las filas de la relacinS.Notacin en lgebra RelacionalPara representarCross-producten lgebra Relacional se utiliza la siguiente terminologa:RSPor convencin para la sentencia anterior, los componentes deRpreceden a los componentes deSen el orden de atributos para el resultado, creando as una nueva relacin con todas las combinaciones posibles de tuplas deRyS. El nmero de tuplas de la nueva relacin resultante es la multiplicacin de la cantidad de tuplas deRpor la cantidad de tuplas que tengaS(producto de ambos). SiRyStienen algunos atributos en comn, entonces se debe inventar nuevos nombres para al menos uno de cada par de atributos idnticos. Para eliminar la ambigedad de un atributoa, que se encuentra enRyS, se usaR.apara el atributo deRyS.apara el atributo deS.Cabe mencionar que por notacin que:RSSREjemplo 1

Con las tablas dadas realice elCross-productdeRconS:

Con azul se resaltan las tuplas que provienen deRque preseden y se mezclan con las deSresaltadas en verde.Con las tablas dadas realice elCross-productdeSconR:

Ejemplo 2Dada las siguientes tablas:Tabla Ingenierosid123234143nombreLeonTomasJosefad#393425Tabla ProyectosproyectoACU0034USM7345duracion30060Escriba la tabla resultante al realizar la siguiente operacin:IngenierosProyectosRespuestaIngenierosProyectosid123123234234143143nombreLeonLeonTomasTomasJosefaJosefad#393934342525proyectoACU0034USM7345ACU0034USM7345ACU0034USM7345duracion300603006030060NaturalJoinEste operador se utiliza cuando se tiene la necesidad de unir relaciones vinculando slo las tuplas que coinciden de alguna manera.NaturalJoinune slo los pares de tuplas deRySque sean comunes. Ms precisamente una tupla r deRy una tupla s deSse emparejan correctamente si y slo si r y s coinciden en cada uno de los valores de los atributos comunes, el resultado de la vinculacin es una tupla, llamadajoined tuple. Entonces, al realizarNaturalJoinse obtiene una relacin con los atributos de ambas relaciones y se obtiene combinando las tuplas de ambas relaciones que tengan el mismo valor en los atributos comunes.Notacin en lgebra RelacionalPara denotarNaturalJoinse utiliza la siguiente simbologa:RS.Equivalencia con operadores bsicosNaturalJoinpuede ser escrito en trminos de algunos operadores ya vistos, la equivalencia es la siguiente:RS=R.A1,...,R.An,S.A1,...,S.An(R.A1=S.A1...R.An=S.An(RS))Mtodo1. Se realiza el producto cartesianoRS.2. Se seleccionan aquellas filas del producto cartesiano para las que los atributos comunes tengan el mismo valor.3. Se elimina del resultado una ocurrencia (columna) de cada uno de los atributos comunes.Ejemplo 1Ra14b25c36Sc763d524Con las tablas dadas realice elNaturalJoindeRyS:

El atributo que tienen en comnRySes el atributoc, entonces las tuplas se unen dondectiene el mismo valor enRySRSa14b25c36d42Ejemplo 2RealizarNaturalJoina las siguientes tablas:Tabla Ingenierosid123234143090nombreLeonTomasJosefaMariad#39342534Tabla Proyectosd#3934proyectoACU0034USM7345RespuestaIngenierosProyectosid123234090nombreLeonTomasMariad#393434proyectoACU0034USM7345USM7345ThetaJoinDefine una relacin que contiene las tuplas que satisfacen el predicadoCen elCross-ProductdeRS. Conecta relaciones cuando los valores de determinadas columnas tienen una interrelacin especfica. La condicinCes de la formaR.aiS.bi, esta condicin es del mismo tipo que se utilizaSelect. El predicado no tiene por que definirse sobre atributos comunes. El trmino join suele referirse aThetaJoin.Notacin en lgebra RelacionalLa notacin deThetaJoines el mismo smbolo que se utiliza paraNaturalJoin, la diferencia radica en queThetaJoinlleva el predicadoC:RCSC=Donde:{=,,>,=e)SRespuesta

Se compara el atributoade la primera fila deRcon cada uno de los valores del atributoede la tablaS. En este caso ninguna de las comparaciones devuelve el valor verdadero (true).

Luego se compara el atributoade la segunda fila deRcon cada uno de los valores del atributoede la tablaS. En este caso 2 comparaciones devuelven el valor verdadero (true), por lo que en la relacin de resultado quedar la segunda fila deRmezclada con la primera y tercera fila deS.

De igual forma ahora se compara el valor deade la tercera tupla deR, nuevamente 2 tuplas deScumplen con la condicin.SR.a3322b2233R.c9955d1144S.a1313S.c5959e2222Ejemplo 2Con el esquema conceptual siguiente, hallar los nombres de los directores de cada departamento:Dpto(numDpto, nombre, nIFDirector, fechaInicio)Empleado(nIF, nombre, direccion, salario, dpto, nIFSupervisor)Respuesta(Dpto.nombre,empleado.nombre)(DptonIFDirector=NIFEmpleado) Tuplas con Null en los Atributos de la Reunin, no se incluyen en el resultado.Ejercicio propuestoConsidere la siguiente base de datos:1. Persona(nombre, edad, genero): nombre es la clave.2. Frecuenta(nombre, pizzeria): (nombre, pizzeria) es la clave.3. Come(nombre, pizza): (name, pizza) es la clave.4. Sirve(pizzeria, pizza, precio): (pizzeria, pizza) es la clave.Escribir expresiones en lgebra relacional para las siguientes dos preguntas: Seleccionar a las personas que comen pizzas con extra queso. Seleccionar a las personas que comen pizzas con extra queso y frecuentan la pizzera X.Lectura 4 - lgebra Relacional: Set operators, renaming, notationOperaciones de conjunto:UninEn matemticas, se denominalgebra de conjuntosa las operaciones bsicas que pueden realizarse con conjuntos, como la unin, interseccin, etc. Unconjuntoes una coleccin de objetos considerada como un objeto en s. LaUninde dos conjuntosAyBes el conjunto que contiene todos los elementos deAy deB. El smboloes el utilizado para representarUnin.El operadorUninesconmutativoes decirAB=BA. Cabe recordar que una operacin esconmutativacuando el resultado de la operacin es el mismo, cualquiera que sea el orden de los elementos con los que se opera.

De manera anloga, laUninde dos relacionesRyS, es otra relacin que contiene las tuplas que estn enR, o enS, o en ambas, eliminndose las tuplas duplicadas.RySdeben serunin-compatible, es decir, definidas sobre el mismo conjunto de atributo (RySdeben teneresquemas idnticos. Deben poseer las mismas columnas y su orden debe ser el mismo).Notacin en lgebra relacionalRSSi se realizaRSes lo mismo queSR, es decir se obtiene el mismo resultado. Esto debido a la propiedad de conmutatividad derivada de la lgebra de conjuntos.EjemploDadas las siguientes relaciones:Tabla Ingenierosid123234345143nombreLeonTomasJoseJosefaedad39344525Tabla Jefesid123235nombreLeonMariaedad3929Aplicar el operadorUnin:Tabla IngenierosJefesid123234345143235nombreLeonTomasJoseJosefaMariaedad3934452529Como se mencion anteriormente, realizar la operacinJefesIngenierosdara como resultado la misma tabla anterior, debido a la propiedad de conmutatividad.DiferenciaVolviendo a la analoga de lgebra de conjuntos, la diferencia entre dos conjuntosAyBes el conjunto que contiene todos los elementos deAque no pertenecen aB.AB

BA

Como se aprecia en las imgenes la operacinDiferencia, en conjuntos, no es conmutativa, al igual que la resta o sustraccin, operador aprendido en aritmtica bsica. Es decir, si se cambia el orden de los conjuntos a los que se aplica la operacinDiferencia, se obtendrn resultados distintos. Por lo tanto:ABBADe la misma forma la diferencia de dos relacionesRyS, es otra relacin que contiene las tuplas que estn en la relacinR, pero no estn enS.RySdeben serunin-compatible(deben tener esquemas idnticos).Notacin en lgebra relacionalRSEs importante resaltar queRSes diferente aSR.EjemploEmpleando las mismas tablas dadas en el ejemplo anterior, realiceIngenierosJefesyJefesIngenieros:Ingenieros - Jefesid234345143nombreTomasJoseJosefaedad344525Jefes - Ingenierosid235nombreMariaedad29Como se puede apreciar, ambas operaciones dieron como resultado distintas relaciones, tal como se haba mencionado anteriormente.InterseccinEn lgebra de conjuntos laInterseccinde dos conjuntosAyBes el conjunto que contiene todos los elementos comunes deAyB. El smbolorepresenta laInterseccinde dos conjuntos. Al igual que el operadorUnin,Interseccines conmutativo, entonces se cumple queAB=BA.AB

De forma homloga en lgebra relacional,Interseccindefine una relacin que contiene las tuplas que estn tanto en la relacinRcomo enS.RySdeben serunin-compatible(mismos atributos y mismo orden).Notacin en algebra relacionalRSSi se realizaRSes lo mismo queSR, es decir se obtiene el mismo resultado, se puede decir queInterseccines conmutativa.Equivalencia con operadores anterioresRS=R(RS)EjemploUtilizando las mismas tablas del ejemplo anterior, encontrar laInterseccinde la tabla deIngenieroscon la deJefes:IngenierosJefesid123nombreLeonedad39ImportantePara aplicar estas operaciones a relaciones, necesitamos queRySseanunin-compatible: RySdeben tener esquemas con conjuntos de atributos idnticos, y de tipos (dominios) para cada atributo deben ser las mismas enRyS. Antes de computar el conjunto-terico unin, interseccin, o diferencia de conjuntos de tuplas, las columnas deRySdeben ser ordenadas para que el orden de los atributos sean los mismos para ambas relaciones.Operaciones dependientes e independientesAlgunas de las operaciones que se han descrito en las lecturas 3 y 4, pueden ser expresadas en trminos de operadores de algebra relacional. Por ejemplo, la interseccin puede ser expresada en trminos de conjuntos de diferencia:RS=R(RS). Es decir, siRySson dos relaciones con el mismo esquema, la interseccin deRySpuede ser resuelta restando primeroSdeRpara formar una relacinTque consiste en todas aquellas tuplas enRpero no enS. Cuando se restaTdeR, dejamos solo esas tuplas deRque estn tambin enS.lgebra relacional como idioma restrictorHay dos maneras en las cuales podemos usar expresiones de algebra relacional para expresar restriccin:1. SiRes una expresin de algebra relacional, entoncesR=0es una restriccin que dice El valor deRdebe ser vacio, o equivalentemente No hay tuplas en el resultado deR.2. SiRySson expresiones de algebra relacional, entoncesRSes una restriccin que dice Cada tupla en resultado deRdebe estar tambin en resultado deS. Por supuesto, el resultado deSpuede contener tuplas adicionales no producidas enR.Estas formas para expresar restriccin son de hecho equivalentes en lo que pueden expresar, pero algunas veces uno de los dos es ms clara o ms sucinta. Es decir, la restriccinRSpudo tambin ser escritoRS=0. Para ver por qu, observe que si cada tupla enRest tambin enS, entonces seguramenteRSes vaco. A la inversa, siRSno contiene tuplas, entonces cada tupla enRdebe estar enS(o de lo que seraRS).Por otra parte, una restriccin de la primera forma,R=0, tambin pudo haber sido escrita comoR0. Tcnicamente,0no es una expresin de algebra relacional, pero ya que hay expresiones que evalan a0, tal comoRR, no hay nada malo en usar0como una expresin de algebra relacional. Tenga en cuenta que estas equivalencias sostienen se sostienen incluso siRySson bolsas, dado que hacemos la interpretacin convencional deRS: cada tuplataparece enSal menos tantas veces como aparece enR.Ejercicios PropuestosEjercicio 1Las relaciones base que forman la base de datos de un video club son las siguientes: Socio(codsocio,nombre,direccion,telefono): almacena los datos de cada uno de los socios del video club: cdigo del socio, nombre, direccin y telfono. Pelicula(codpeli,titulo,genero): almacena informacin sobre cada una de las pelculas de las cuales tiene copias el vdeo club: cdigo de la pelcula, ttulo y gnero (terror, comedia, etc.). Cinta(codcinta,codpeli): almacena informacin referente a las copias que hay de cada pelcula (copias distintas de una misma pelcula tendrn distinto cdigo de cinta). Prestamo(codsocio,codcinta,fecha,presdev): almacena informacin de los prstamos que se han realizado. Cada prstamo es de una cinta a un socio en una fecha. Si el prstamo an no ha finalizado, presdev tiene el valor prestada; si no su valor es devuelta. ListaEspera(codsocio,codpeli,fecha): almacena informacin sobre los socios que esperan a que haya copias disponibles de pelculas, para tomarlas prestadas. Se guarda tambin la fecha en que comenz la espera para mantener el orden. Es importante tener en cuenta que cuando el socio consigue la pelcula esperada, ste desaparece de la lista de espera.En las relaciones anteriores, son claves primarias los atributos y grupos de atributos que aparecen en negrita. Las claves ajenas se muestran en los siguientes diagramas referenciales:Resolver las siguientes consultas mediante el lgebra relacional (recuerde que en la lectura 3 tambin se dieron algunos operadores de lgebra relacional):1.1. Seleccionar todos los socios que se llaman: Charles.Respuestanombre='Charles'(Socio)1.2. Seleccionar el cdigo socio de todos los socios que se llaman: Charles.Respuestacodsocio(nombre='Charles'(Socio))1.3. Seleccionar los nombres de las pelculas que se encuentran en lista de espera.Respuestatitulo(PeliculaListaEspera)1.4. Obtener los nombres de los socios que esperan pelculas.Respuestanombre(SocioListaEspera)1.5. Obtener los nombres de los socios que tienen actualmente prestada una pelcula que ya tuvieron prestada con anterioridad.Respuestanombre({(Prestamo(presdev='prestada')Cinta)(Prestamo(presdev='devuelta')Cinta)}Socio)1.6. Obtener los ttulos de las pelculas que nunca han sido prestadas.Respuestatitulo{(codpeliPeliculacodpeli(PrestamoCinta))Pelicula}(todas las pelculas) menos (las pelculas que han sido prestadas alguna vez)1.7. Obtener los nombres de los socios que han tomado prestada la pelcula WALL*E alguna vez o que estn esperando para tomarla prestada.Respuestanombre(titulo='WALL*E'(SocioPrestamoCintaPelicula)titulo='WALL*E'(SocioListaEsperaPelicula))1.8. Obtener los nombres de los socios que han tomado prestada la pelcula WALL*E alguna vez y que adems estn en su lista de espera.Respuestanombre(titulo='WALL*E'(SocioPrestamoCintaPelicula)titulo='WALL*E'(SocioListaEsperaPelicula))Ejercicio 2Considere la base de datos con el siguiente esquema:1. Persona(nombre, edad, genero): nombre es la clave.2. Frecuenta(nombre, pizzeria): (nombre, pizzeria) es la clave.3. Come(nombre, pizza): (name, pizza) es la clave.4. Sirve(pizzeria, pizza, precio): (pizzeria, pizza) es la clave.Escribir las expresiones de lgebra relacional para las siguientes nueve consultas. (Precaucin: algunas de las siguientes consultas son un poco desafiantes). Encuentre todas las pizzeras frecuentadas por al menos una persona menor de 18 aos. Encuentre los nombres de todas las mujeres que comen pizza ya sea con championes o salchichn (o ambas). Encuentre los nombres de todas las mujeres que comen pizzas con los dos ingredientes, championes y salchichn. Encuentre todas las pizzeras que sirven al menos una pizza que Amy come por menos de 10 dlares. Encuentre todas las pizzeras que son frecuentadas por solo mujeres o solo hombres. Para cada persona, encuentre todas las pizzas que la persona come, que no son servidas por ninguna pizzera que la persona frecuenta. Devuelve toda dicha persona (nombre)/ pizza pares. Encuentre los nombres de todas las personas que frecuentan solo pizzeras que sirven al menos una pizza que ellos comen. Encuentre la pizzera que sirve la pizza ms barata de salchichn. En el caso de empate, vuelve todas las pizzer

Algebra Relacional

Conjunto de operaciones para manipular las tuplas de las relaciones o tablas. El resultado de cada operacin es una nueva relacin que podemos manipular posteriormente.Operaciones-Seleccionar (s)-Proyectar (p)- Operaciones de Teora de Conjuntos: Unin (), Interseccin (), Diferencia (-), Producto Cartesiano (X).- Reunin ()* Seleccionar ()Por medio de esta operacin se posibilita la seleccin de un subconjunto de tuplas de una relacin que corresponden a unacondicin(columna OPERADOR valor)determinada. El grado (total de columnas de la Relacin), se conserva.Formato de Uso:(condicin)(RELACION)Esta operacin es conmutativa, es decir:(condicin1)((condicin2)(R) ) =(condicin2)((condicin1)(R) )Ejemplos:PERSONACedulaNombrePrimer_ApellidoSegundo_ApellidoSexoDireccinTelefonoSalario

71134534JuanMesaUribeMCra 25 22-125675321,600,000

23423445Ana MaraBetancurBermudezFCra 45 11-1334334441,300,000

12453535GloriaBetancurGarcesFTr. 12 43-527565331,700,000

75556743PedroOchoaPelaezMCll.6ta 14-4526868851,200,000

43533322PatriciaAngelGuzmnFCll. 45 23-126745631,350,000

78900456CarlosBetancurAgudeloMCir. 5 12-544457751,500,000

La seleccin, permite extraer todas las filas (tuplas) que cumple una condicin determinada. Esta condicin permite la utilizacin de los operadores de comparacin: =,>,=,adems de los conectores lgicos "y" - "o":a.cedula = 71134534(PERSONA)Resultado:CedulaNombrePrimer_ApellidoSegundo_ApellidoSexoDireccinTelefonoSalario

71134534JuanMesaUribeMCra 25 22-125675321,600,000

b.sexo ='F'(PERSONA)Resultado:CedulaNombrePrimer_ApellidoSegundo_ApellidoSexoDireccinTelefonoSalario

23423445Ana MaraBetancurBermudezFCra 45 11-1334334441,300,000

12453535GloriaBetancurGarcesFTr. 12 43-527565331,700,000

c.(primer_apellido ='Betancur') y (sexo='F')(PERSONA)Resultado:CedulaNombrePrimer_ApellidoSegundo_ApellidoSexoDireccinTelefonoSalario

23423445Ana MaraBetancurBermudezFCra 45 11-1334334441,300,000

12453535GloriaBetancurGarcesFTr. 12 43-527565331,700,000

d. c.(sexo = 'M'') o (Salario >=1,350,000)(PERSONA)Resultado:CedulaNombrePrimer_ApellidoSegundo_ApellidoSexoDireccinTelefonoSalario

71134534JuanMesaUribeMCra 25 22-125675321,600,000

12453535GloriaBetancurGarcesFTr. 12 43-527565331,700,000

75556743PedroOchoaPelaezMCll.6ta 14-4526868851,200,000

43533322PatriciaAngelGuzmnFCll. 45 23-126745631,350,000

78900456CarlosBetancurAgudeloMCir. 5 12-544457751,500,000

* Proyectar ()Esta operacin permite seleccionar algunas columnas de una relacin.Formato de Uso: (RELACION)Ejemplos:Se construyen con base en la Relacin anterior: PERSONA.a.cedula, nombre, primer_apellido, segundo_apellido(PERSONA)ResultadoCedulaNombrePrimer_ApellidoSegundo_Apellido

71134534JuanMesaUribe

23423445Ana MaraBetancurBermudez

12453535GloriaBetancurGarces

75556743PedroOchoaPelaez

43533322PatriciaAngelGuzmn

78900456CarlosBetancurAgudelo

b.cedula, salario(PERSONA)Resultado:CedulaSalario

711345341,600,000

234234451,300,000

124535351,700,000

755567431,200,000

435333221,350,000

789004561,500,000

La operacin SELECCIN combinada con la operacin PROYECCIN, podemos tener:c.cedula, nombre, salario((sexo = 'M'') o (Salario >=1,350,000)(PERSONA) )Resultado:CedulaNombreSalario

71134534Juan1,600,000

12453535Gloria1,700,000

75556743Pedro1,200,000

43533322Patricia1,350,000

78900456Carlos1,500,000

EL RESULTADO DE LAS OPERACIONES PUEDEN SER LLEVADOS A RELACIONES TEMPORALES DE LA SIGUIENTE FORMA:REL_TEMPcedula, nombre, salario((sexo = 'M'') o (Salario >=1,350,000)(PERSONA) )Resultado:REL_TEMPCedulaNombreSalario

71134534Juan1,600,000

12453535Gloria1,700,000

75556743Pedro1,200,000

43533322Patricia1,350,000

78900456Carlos1,500,000