´                Algebra RelacionalUn ´lgebra es un sistema matem´tico constituido por   a                          a• Ope...
TablasEstas ser´n las tablas que usaremos en la mayor´ de ejemplos         a                                     ıa       ...
Selecci´n                                oOperador de selecci´n                    o      σ , selecciona un subconjunto de...
Proyecci´n                             oOperador de proyecci´n                     o   π, proyecta una relaci´n sobre un  ...
Composici´n de Operaciones                  oEl resultado de cada operaci´n es una nueva relaci´n ⇒ se                    ...
Uni´n                            oDado que las relaciones son conjuntos de tuplas, se puedenrealizar las operaciones usual...
DiferenciaTambi´n se puede usar la diferencia de conjuntos, las tuplas      eque est´n en una relaci´n pero no en la otra....
Producto CartesianoRepresenta al producto cartesiano usual de conjuntos.Combina tuplas de cualquieras dos (o m´s) relacion...
Producto Cartesiano: EjemplosObtener el nombre del departamento en el que Soto trabaja:Primero hacemos la uni´n cartesiana...
RenombreA veces necesitamos obtener informaci´n uniendo datos de                                     ola misma tabla.Por e...
o          o     ´          Formalizaci´n y Notaci´n de ArbolEl ´lgebra relacional es un lenguaje de expresiones. Toda   a...
————————————————-
Operaciones Adicionales, Intersecci´n                                         o   Las operaciones anteriores son suficiente...
Reuni´n Natural(Join)                   oHace un producto cartesiano de sus dos argumentos y realizauna selecci´n forzando...
Join en GeneralUn forma m´s general de hacer Join es especificando una            apropiedad de reuni´n.                  o...
Relaciones TemporalesA veces las consultas se hacen muy extensas.Una forma de simplificarlas es usando relaciones temporale...
C´lculo Relacional de Tuplas          aEl c´lculo relacional de tuplas es un lenguaje no procedural.    aCon el ´lgebra re...
C´lculo Relacional de Tuplas: Ejemplos   aSupongamos que necesitamos los datos de todos los emplea-dos del departamento de...
C´lculo Relacional de Tuplas: Ejemplos (cont.) a  En general podemos usar “casi” cualquier expresi´n l´gica               ...
C´lculo Relacional de Dominios         aEs un lenguaje de consulta sobre el modelo relacional noprocedural.A diferencia de...
´         Algebra vs C´lculo Relacional                     aEl c´lculo relacional nos entrega dos lenguajes de consulta  ...
Modificaci´n de la Base de Datos                  o   Hasta ahora hemos visto como obtener informaci´n desde la            ...
Modificaci´n de la Base de Datos (cont.)             oInserci´n       o   Usamos el operador de uni´n                      ...
Cuidado con el orden!!!          nombre       sueldo     cod dept    f echa ing          Torres    $ 1.320.000      A1    ...
Upcoming SlideShare
Loading in …5
×

Al

364 views

Published on

base dedatos

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
364
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Al

  1. 1. ´ Algebra RelacionalUn ´lgebra es un sistema matem´tico constituido por a a• Operandos: objetos (valores o variables) desde los cuales nuevos objetos pueden ser construidos.• Operadores: s´ ımbolos que denotan nuevos objetos desde objetos dados.El ´lgebra relacional es un ´lgebra en la cual a a• Sus operandos son relaciones (instancias) o variables que representan relaciones.• Sus operadores est´n dise˜ados para hacer la tareas m´s a n a comunes que se necesitan para manipular relaciones en una base de datos.El resultado es que el ´lgebra relacional se puede utilizar acomo un lenguaje de consulta.En la pr´ctica el ´lgebra relacional debe ser extendida para a aabarcar la mayor parte de las tareas reales que se hacen conlos datos.Estudiaremos en detalle los operadores cl´sicos. a 1
  2. 2. TablasEstas ser´n las tablas que usaremos en la mayor´ de ejemplos a ıa Empleado nombre sueldo cod dept f echa ing Torres $ 1.200.000 A1 01/01/2004 Soto $ 500.000 A2 01/01/2003 P´rez e $ 300.000 A2 01/10/2003 Figueroa $ 600.000 A1 01/03/2002 Salas $ 1.500.000 A1 01/01/2002 R´ıos $ 2.000.000 A3 01/06/2002 Campos $ 800.000 A2 01/11/2003 Venegas $ 600.000 A1 01/06/2002 Carcamo $ 500.000 A2 01/04/2003 Gonzalez $ 2.000.000 A3 01/10/2002 Departamento nombre cod dept f echa creac Inform´tica a A1 01/03/2002 Marketing A2 01/01/2002 Ventas A3 01/01/2001 Recursos Humanos A4 01/01/2003
  3. 3. Selecci´n oOperador de selecci´n o σ , selecciona un subconjunto de lastuplas de una relaci´n. oTuplas seleccionadas son las que satisfacen cierto predicadol´gico P . El predicado puede depender de los atributos de la orelaci´n y de valores constantes. oEl operador σtoma una relaci´n como argumento y el re- osultado es una nueva relaci´n. oSintaxis: σ P (r)Seleccionar los datos del empleado Soto: σ nombre=Soto(empleado) nombre sueldo cod dept f echa ing Soto $ 500.000 A2 01/01/2003Los datos de los empleados con sueldo ≥ $500.000 que in-gresaron despues del 2003: σ sueldo≥500000 ∧ f ech ing≥1/1/2003(empleado) nombre sueldo cod dept f echa ing Soto $ 500.000 A2 01/01/2003 Campos $ 800.000 A2 01/11/2003 Carcamo $ 500.000 A2 01/04/2003 Torres $ 1.200.000 A1 01/01/2004 2
  4. 4. Proyecci´n oOperador de proyecci´n o π, proyecta una relaci´n sobre un osubconjunto de sus atributos.El operador π toma una relaci´n como argumento y el re- osultado es una nueva relaci´n. oSintaxis: πA(r) donde A representa el conjunto de atributos sobre los quela relaci´n r se proyectar´. o aEjemplo: obtener los nombres de los distintos departamentos π nombre(departamento) nombre Inform´tica a Marketing Ventas Recursos HumanosObtener los montos de sueldo de los empleados: π sueldo(empleado) sueldo $ 1.200.000 $ 500.000 $ 300.000 $ 600.000 $ 1.500.000 $ 2.000.000 $ 800.000se eliminan los repetidos! una relaci´n es un conjunto. o 3
  5. 5. Composici´n de Operaciones oEl resultado de cada operaci´n es una nueva relaci´n ⇒ se o opueden aplicar operadores a los resultados de aplicacionesprevias.Por ejemplo: πA(σP (r)) σP (πA(r)) σP1 (σP2 (r))Obtener los nombres de los empleados que ganan m´s de a$1.000.000. π nombre(σ sueldo>1000000(empleado)) nombre Torres Salas R´ıos GonzalezObtener el sueldo y la fecha de ingreso de Soto: π sueldo,f ech ing (σ nombre=Soto(empleado)) sueldo f echa ing $ 500.000 01/01/2003 4
  6. 6. Uni´n oDado que las relaciones son conjuntos de tuplas, se puedenrealizar las operaciones usuales de conjuntos como la uni´n. oSintaxis: usamos notaci´n infija o r1 ∪ r2Se deben hacer ciertas restricciones para realizar la uni´n: o• Ambas relaciones deben tener el mismo n´mero de atrib- u utos.• El dominio del atributo i-´simo de cada relaci´n debe co- e o incidir.Obtener los nombres de los empleados que ganan mas de$1.500.000 o que trabajan en el departamento con c´digo oA1.π nombre(σ sueldo>1500000(empleado) ∪ σ cod dept=A1(empleado)) nombre Torres Figueroa Salas R´ıos Venegas Gonzalez 5
  7. 7. DiferenciaTambi´n se puede usar la diferencia de conjuntos, las tuplas eque est´n en una relaci´n pero no en la otra. a oSintaxis: usamos notaci´n infija o r1 − r2Para poder realizar la diferencia se deben cumplir las mismasrestricciones que para la uni´n oEjemplo: π nombre(alumno) − π nombre(σ carrera=Bioinformatica(alumno))Resulta en una relaci´n que contiene a todos los nombres de olos alumnos excepto de los alumnos de la carrera de Bioin-form´tica. a 6
  8. 8. Producto CartesianoRepresenta al producto cartesiano usual de conjuntos.Combina tuplas de cualquieras dos (o m´s) relaciones, hace ala combinaci´n de todos con todos. oSi las relaciones a operar tienen N y M tuplas de n y mcomponentes respectivamente, la relaci´n resultante del el oproducto cartesiano tiene N × M tuplas de n + m compo-nentes.Sintaxis: usamos notaci´n infija o r1 × r2No hay restricciones a los dominios de las relaciones similaresa las anteriores operaciones.Nos permite reunir datos de dos relaciones distintas.Cuidado con los nombres repetidos! se deben renombrar cier-tos atributos para no tener porblemas. departamento × departamento nombre cd f ec creac nombre cd f ec creac Inform´tica a A1 01/03/2002 Inform´tica a A1 01/03/2002 Inform´tica a A1 01/03/2002 Marketing A2 01/01/2002 Inform´tica a A1 01/03/2002 Ventas A3 01/01/2001 Inform´tica a A1 01/03/2002 Rec. Hum. A4 01/01/2003 Marketing A2 01/01/2002 Inform´tica a A1 01/03/2002 Marketing A2 01/01/2002 Marketing A2 01/01/2002 Marketing A2 01/01/2002 Ventas A3 01/01/2001 Marketing A2 01/01/2002 Rec. Hum. A4 01/01/2003 Ventas A3 01/01/2001 Inform´tica a A1 01/03/2002 Ventas A3 01/01/2001 Marketing A2 01/01/2002 Ventas A3 01/01/2001 Ventas A3 01/01/2001 Ventas A3 01/01/2001 Rec. Hum. A4 01/01/2003 Rec. Hum. A4 01/01/2003 Inform´tica a A1 01/03/2002 Rec. Hum. A4 01/01/2003 Marketing A2 01/01/2002 Rec. Hum. A4 01/01/2003 Ventas A3 01/01/2001 Rec. Hum. A4 01/01/2003 Rec. Hum. A4 01/01/2003 7
  9. 9. Producto Cartesiano: EjemplosObtener el nombre del departamento en el que Soto trabaja:Primero hacemos la uni´n cartesiana igualando un atributo o σ depto.cod depto=emp.cod depto(empleado × departamento)Ahora podemos hacer la selecci´n y proyecci´n o o π depto.nombre(σ emp.nombre=Soto ( σ depto.cod depto=emp.cod depto(empleado × departamento))) departamento.nombre Marketing 8
  10. 10. RenombreA veces necesitamos obtener informaci´n uniendo datos de ola misma tabla.Por ejemplo, obtener los nombres de todos los empleadosque ingresaron despu´s que Soto a la empresa. ePrimer intento: empleado × ( σ nombre=Soto(empleado))¿C´mo nos referimos a una u otra instancia de la tabla oempleado?El operador de renombre ρ soluciona el problema.El operador ρ toma una relaci´n y entrega la misma relaci´n o opero con otro nombre, podemos referirnos a distintas instan-cias de la misma relaci´n. oSintaxis: ρx(r)Volviendo al ejemplo, obtener los nombres de todos los em-pleados que ingresaron despu´s que Soto a la empresa, se- egundo intento: empleado × ( σ nombre=Soto(ρempleado2(empleado))Ahora podemos hacer: π empleado.nombre(σ empleado.f echa ing>empleado2.f echa ing (empleado × (σ nombre=Soto (ρempleado2 (empleado)))) 9
  11. 11. o o ´ Formalizaci´n y Notaci´n de ArbolEl ´lgebra relacional es un lenguaje de expresiones. Toda aexpresi´n se puede generar a partir de las siguientes reglas: o• Toda relaci´n de la base de datos es una expresi´n. o o• Si E1 y E2 son expresiones entonces las siguientes tambi´n e son expresiones: ◦ E1 ∪ E2 ◦ E1 − E2 ◦ E1 × E2 ◦ σ P (E1) donde P es un predicado con atributos de E1 ◦ π A(E1) donde A es una lista de atributos de E1 ◦ ρx(E1) donde x es el nuevo nombre de la relaci´n E1. oCada expresi´n generada por las reglas anteriores tiene como oresultado una relaci´n. oToda relaci´n resultado de una expresi´n en el ´lgebra rela- o o acional se puede ver como un ´rbol donde cada nodo interno aest´ etiquetado por una operaci´n: a o• Las hojas son relaciones efectivas de la base de datos.• La relaci´n representada por un ´rbol es la relaci´n que o a o resulta de aplicar la operaci´n etiquetada en su ra´ a las o ız relaci´n representadas por cada uno de los sub´rboles hijos. o aPor ejemplo la relaci´n resultante de o π depto.nombre(σ emp.nombre=Soto ( σ depto.cod depto=emp.cod depto(empleado × departamento)))Est´ representada por el siguiente ´rbol (en la pizarra...) a aA veces es m´s c´modo representar expresiones extensas us- a oando ´rboles. a 10
  12. 12. ————————————————-
  13. 13. Operaciones Adicionales, Intersecci´n o Las operaciones anteriores son suficientes para definir toda el algebra relacional. Algunas consultas habituales son complejas de realizar con combinaciones de operaciones simples, usamos algunos op- eradores adicionales.Intersecci´n o La intersecci´n usual de conjuntos. o Sintaxis: usamos notaci´n infija o r1 ∩ r2 Se deben cumplir las mismas restricciones que en la uni´n y o diferencia, los atributos de la relaciones involucradas deben tener los mismos dominios. La intersecci´n se puede crear a partir de la diferencia: o r1 ∩ r2 = r1 − (r1 − r2) Ejemplo: π nombre(alumno preg) ∩ π nombre(alumno posg) resulta en una relaci´n que contiene los nombres de todos o los alumnos que son simult´neamente de pre y posgrado. a 11
  14. 14. Reuni´n Natural(Join) oHace un producto cartesiano de sus dos argumentos y realizauna selecci´n forzando la igualdad de atributos que aparecen oen ambas relaciones.Elimina repetidos (como toda operaci´n de conjuntos). oSintaxis: r1 ⋉ r2 ⋊Ejemplo: listar todos los empleados y el nombre del departa-mento en el que trabajan π emp.nombre,dept.nombre(empleado ⋉ departamento) ⋊ empleado.nombre departamento.nombre Torres Inform´tica a Soto Marketing P´rez e Marketing Figueroa Inform´tica a Salas Inform´tica a R´ıos Ventas Campos Marketing Venegas Inform´tica a Carcamo Marketing Gonzalez Ventas 12
  15. 15. Join en GeneralUn forma m´s general de hacer Join es especificando una apropiedad de reuni´n. oSe hace entonces un producto cartesiano de las dos rela-ciones y se realiza una selecci´n forzando una propiedad m´s o ageneral que la igualdad de atributos que aparecen en ambasrelaciones.Sintaxis: r1 ⋉P r2 ⋊donde P es la propiedad de reuni´n. oEjemplo: listar todos los pares de nombres de empleados ydepartamentos tales que el empleado ingres´ a la empresa oen una fecha anterior a la de creaci´n del departamento o π emp.nombre,depto.nombre( empleado ⋉(f echa ⋊ ing<f echa creac) departamento) 13
  16. 16. Relaciones TemporalesA veces las consultas se hacen muy extensas.Una forma de simplificarlas es usando relaciones temporalesy asign´ndoles expresiones para usar despu´s: a er ← E asigna la expresi´n de ´lgebra relaciones E a la nueva o arelaci´n r. oEjemplo: temp ← σsueldo>500000 (empleado ⋉ departamento) ⋊ πempleado.nombre,departamento.nombre(temp)El ´ltimo resultado son los nombres de empleados y el depar- utamento en el que trabajan tales que el sueldo del empleadoes mayor a $500.000. 14
  17. 17. C´lculo Relacional de Tuplas aEl c´lculo relacional de tuplas es un lenguaje no procedural. aCon el ´lgebra relacional damos un procedimiento para una aexpresi´n. o πA1 ,B1 (σA1 =v (rA ⋉ rB )) ⋊En el c´lculo relacional de tuplas especificamos la informaci´n a odeseada sin dar un procedimiento para obtenerla. {t|P (t)}Este ´ltimo conjunto representa a la relaci´n de todas las u otuplas t que cumplen la propiedad l´gica P . oSupongamos que necesitamos s´lo los nombres de los em- opleados que tienen sueldo mayor a $500.000.En ´lgebra relacional usamos el operador a π para obteners´lo los nombres. En el c´lculo relacional de tuplas debemos o ausar la construcci´n existe “∃”: o ∃ t ∈ r(Q(t))que significa: “existe una tupla t en la relaci´n r que cumple oel predicado Q(t)”.Ejemplo: obtener los nombres de los empleados que tienensueldo mayor a $500.000. {t | ∃s ∈ empleado (t[nombre] = s[nombre] ∧ s[sueldo] > 500000)}Se lee: “el conjunto de todas las tuplas tales que existe unatupla s en la relaci´n empleado para la cual los valores de t oy s son iguales en el atributo nombre y el valor de s en elatributo sueldo es mayor que 500000”.La variable de tupla t se define s´lo en el atributo nombre, es oel ´nico atributo no cuantificado. El resultado es una relaci´n u ocon s´lo un atributo. o 15
  18. 18. C´lculo Relacional de Tuplas: Ejemplos aSupongamos que necesitamos los datos de todos los emplea-dos del departamento de Marketing y no sabemos el c´digo odel departamento.En ´lgebra relacional usamos el operador ⋉ para obtener los a ⋊datos de ambas tablas.En el c´lculo relacional de tuplas debemos usar tambi´n la a econstrucci´n existe: o {t | t ∈ empleado ∧ ∃s ∈ departamento (s[cod depto] = t[cod depto] ∧ s[nombre] = marketing)}Se lee: “el conjunto de todas las tuplas t de la relaci´n oempleado tales que existe una tupla s en la relaci´n departamento opara la cual los valores de t y s son iguales en el atributocod depto y el valor de s en el atributo nombre es marketing”.¿C´mo expresamos consultas del tipo “los nombres de todos olos alumnos que no son de bioinform´tica, suponiendo que acontamos con las relaciones alumno y alumno bioinf ormatica?Necesitamos el operador l´gico de negaci´n “¬”. o o {t | ∃s ∈ alumno (s[nombre] = t[nombre]) ∧ ¬∃u ∈ alumno bioinf ormatica (u[nombre] = t[nombre])}Se lee: “el conjunto de todas las tuplas t tales que existeuna tupla s en la relaci´n alumno que comparte el atrib- outo nombre con t y NO existe una tupla u en la relaci´n oalumno bioinf ormatica que comparta el atributo nombre cont”. 16
  19. 19. C´lculo Relacional de Tuplas: Ejemplos (cont.) a En general podemos usar “casi” cualquier expresi´n l´gica o o para seleccionar tuplas. Podemos usar las construcciones para todo “∀ ”, implica que “⇒”, etc. {t | ∃s ∈ depatamento (s[nombre] = t[nombre] ∧ ∀u ∈ empleado (u[cod depto] = s[cod depto] ⇒ u[sueldo] > 500000))} Se lee: “el conjunto de todas las tuplas t tales que, existe una tupla s en la relaci´n departamento con la que comparte o el atributo nombre y que para toda tupla u en la relaci´n o empleado, si u comparte el atributo cod depto con s entonces el valor del atributo sueldo de u es mayor que 500000. En este conjunto est´n los nombres de los departamentos a cuyos empleados tienen todos un sueldo mayor a $500.000. ¿C´mo hacemos esta consulta en ´lgebra relacional? o a ¿Por qu´ “casi” todas las expresiones l´gicas? ¿Qu´ resulta e o e de la siguiente consulta? {t | ¬(t ∈ empleado)} ¡Resulta una relaci´n con un n´mero infinito de tuplas! o u ¡Tuplas que ni siquiera se encuentran en nuestra base de datos! No aceptamos entonces este tipo de consultas, aceptamos s´lo consultas seguras. o Una consulta {t | P (t)} es segura si el resultado son valores que pertenecen a dom(P ), donde dom(P ) es la uni´n de los o dominios de todas las relaciones que aparecen en P . {t | ¬(t ∈ empleado)} no es segura {t | t ∈ alumno ∧ ¬(t ∈ alumno bioinf ormatica)} si es segura. 17
  20. 20. C´lculo Relacional de Dominios aEs un lenguaje de consulta sobre el modelo relacional noprocedural.A diferencia del c´lculo relacional de tuplas, consulta acerca avalores del dominio de los atributos de las relaciones, no delas tuplas de ´stas. eUna consulta en c´lculo relacional de dominios es de la sigu- aiente forma: {< x1 , x2 , . . . , xn > | P (x1 , x2 , . . . , xn )}d´nde x1 , x2 , . . . , xn se llaman variables de dominio y P es una of´rmula proposicional sobre las variables del dominio. oEjemplo: Obtener el nombre, el c´digo y la fecha de creaci´n o ode los departamentos creados despu´s del 2003 e {< a, b, c > | < a, b, c >∈ departamento ∧ c > 1/1/2003}Ejemplo: Obtener el nombre de los empleados que ganan$800.000 {< n > | ∃a, b, c (< n, a, b, c >∈ empleado ∧ a = 800000)}Ejemplo: Obtener los nombres de los empleados y de losdepartamentos en los que trabajan {< e, d > | ∃a, b, c, f (< e, a, b, c >∈ empleado ∧ < d, b, f >∈ departamento}A veces es m´s simple representar consultas para atributos aespec´ ıficos en el c´lculo de dominios que en el c´lculo de a atuplas.Tambi´n existe una noci´n muy similar de consultas seguras e oen el c´lculo de tuplas. Las consultas que se salen del dominio ano son seguras. 18
  21. 21. ´ Algebra vs C´lculo Relacional aEl c´lculo relacional nos entrega dos lenguajes de consulta aen una base de datos bajo el modelo relacional.A veces se hace mucho m´s “natural” expresar consultas en aun lenguaje de c´lculo relacional que con el ´lgebra relacional. a aVentaja: se expresa “lo que se quiere” sin necesitar explicarc´mo obtenerlo (sin especificar un procedimiento). oResultado muy importante: El ´lgebra relacional, el c´lculo relacional de tuplas y el a a c´lculo relacional de dominios tienen el mismo poder a expresivo ⇒ pueden responder el mismo tipo de consultas en una base de datos relacional.Interesante porque el c´lculo relacional est´ basado en l´gica a a ode primer orden que tiene mucha teor´ estudiada. ıaCon l´gica podemos demostrar que ciertas consultas no se o o ´pueden lograr con s´lo Algebra Relacional.El ejemplo can´nico de consulta que no se puede realizar es ola clausura transitiva.• Relaci´n de vuelos con n´mero indefinido de escalas o u• Relaci´n de ancestros oOtro ejemplo no realizable, contar: determinar si la cantidadde tuplas de una relaci´n es par o 19
  22. 22. Modificaci´n de la Base de Datos o Hasta ahora hemos visto como obtener informaci´n desde la o Base de Datos. Es necesario entregar herramientas para poder alterar el es- tado de la Base de Datos. Eliminaci´n, Inserci´n, Actualizaci´n son algunas de las tar- o o o eas necesarias, usaremos el ´lgebra relacional. aEliminaci´n o Usamos el operador de diferencia (−) y asignaci´n (←) o r ←r−E donde r es una relaci´n y E una expresi´n del ´lgebra rela- o o a cional. Eliminar los datos de Soto empleado ← empleado−σ nombre=Soto (empleado) Eliminar todos los empleados del departamento de Marketing r1 ←σ dep.nombre=Marketing (empleado ⋉ departamento) ⋊ r2 ←π emp.nombre,sueldo,emp.cod depto,f ech ing (r1) empleado ← empleado − r2 nombre sueldo cod dept f echa ing Torres $ 1.200.000 A1 01/01/2004 Figueroa $ 600.000 A1 01/03/2002 Salas $ 1.500.000 A1 01/01/2002 R´ıos $ 2.000.000 A3 01/06/2002 Venegas $ 600.000 A1 01/06/2002 Gonzalez $ 2.000.000 A3 01/10/2002 20
  23. 23. Modificaci´n de la Base de Datos (cont.) oInserci´n o Usamos el operador de uni´n o r ←r∪E donde r es una relaci´n y E una expresi´n del ´lgebra rela- o o a cional. Agregar el departamento de Finanzas con c´digo A5 y fecha o de creaci´n 5/8/2004 o departamento ← departamento ∪ {(Finanzas, A5, 5/8/2004)} nombre cod dept f echa creac Inform´tica a A1 01/03/2002 Marketing A2 01/01/2002 Ventas A3 01/01/2001 Recursos Humanos A4 01/01/2003 Finanzas A5 05/08/2004Actualizaci´n o A veces queremos cambiar el valor de alg´n atributo de una u tupla sin cambiarla entera. Podr´ hacerse una eliminaci´n e ıa o inserci´n, pero resulta engorrosos muchas veces. o Usamos un nuevo operador δ (no reasignamos!): δA←E (r) que representa el hecho de cambiar el atributo A por la ex- presi´n matem´tica E en la relaci´n r. o a o Subir el sueldo de todos los empleados en %10 si su sueldo actual es mayor que $1.000.000 y en %20 si es menor δsueldo←sueldo∗1,1 (σsueldo≥1000000 (empleado)) δsueldo←sueldo∗1,2 (σsueldo<1000000 (empleado)) 21
  24. 24. Cuidado con el orden!!! nombre sueldo cod dept f echa ing Torres $ 1.320.000 A1 01/01/2004 Soto $ 600.000 A2 01/01/2003 P´rez e $ 360.000 A2 01/10/2003 Figueroa $ 720.000 A1 01/03/2002 Salas $ 1.650.000 A1 01/01/2002 R´ıos $ 2.200.000 A3 01/06/2002 Campos $ 960.000 A2 01/11/2003 Venegas $ 720.000 A1 01/06/2002 Carcamo $ 600.000 A2 01/04/2003 Gonzalez $ 2.200.000 A3 01/10/2002

×