SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
´
                                Gu´a de Algebra Relacional
                                  ı
                         Prof. Claudio Guti´rrez, Aux. Mauricio Monsalve
                                           e

                                         Primavera de 2007


1.      Problemas conceptuales
     1. ¿Son la divisi´n y el producto operaciones inversas?
                      o

     2. ¿Cu´ntas proyecciones existen, cuyo resultado es no vac´ sobre una relaci´n no vac´ de n
            a                                                  ıo,               o        ıa
        atributos?

     3. ¿Qu´ operadores relacionales son conmutativos?
           e

     4. Sea R = (P ersona, Idioma) y S = (Idioma). ¿Qui´nes hablan todos los idiomas? (¿Qu´ se
                                                       e                                  e
        debe cumplir para prescindir de S ?)

     5. Defina intersecci´n y join natural utilizando s´lo los operadores diferencia, producto, proyec-
                          o                           o
        ci´n y selecci´n.
          o           o

     6. Suponga que las relaciones A, B, C y D tienen 100, 1000, 10000 y 50 tuplas, respectivamente.
        Ordene la operaci´n A B C D para que sea m´s eficiente.
                         o                                   a

     7. Sean R y S dos relaciones sin atributos comunes (sus esquemas son disjuntos). ¿Por qu´ la
                                                                                             e
        operaci´n R S (join natural) es equivalente a la operaci´n R × S? ¿Qu´ ocurre en el caso
               o                                                o              e
        opuesto, cuando R y S tienen el mismo esquema?

     8. Sean R y S dos relaciones con el mismo esquema y que tienen n y m tuplas, respectivamente.
        D´ cotas para la cardinalidad de las siguientes operaciones:
         e

         a) R ∪ S, R − S y R ∩ S
         b) R     S, R   c   S y R÷S

     9. ¿Cu´l es la filosof´ de la divisi´n? ¿Cu´ndo ocupar´ esta relaci´n? Indique qu´ ocurre con
           a              ıa            o      a          ıa           o             e
        (A × B) ÷ B y con (A B) ÷ B.

 10. Sean los esquemas de relaci´n R(A, B, C) y T (B, D). La relaci´n R tiene n tuplas y T tiene m
                                 o                                   o
     tuplas, cumpli´ndose que n>m>0. Indicar el tama˜o m´
                    e                                     n    ınimo y m´ximo de las siguientes ex-
                                                                         a
     presiones relacionales (cotas para la cardinalidad). Indicar, adem´s, si cambian los resultados
                                                                       a
     al saber que B es llave de R y de T, y cu´les son los cambios.
                                                a

         a) R     T
         b) σc (R)

                                                   1
c) R − (T − R)
         d) R ÷ T
         e) R ∗ (R ÷ T )

 11. Sea R ⊂ S. Simplifique al m´ximo las siguientes expresiones:
                               a

         a) R ∪ S
         b) R    S
         c) σA=a (R) − S
         d ) ΠX (R) ∩ ΠX (S)


2.      Problemas tipo
2.1.     ´
         Algebra alcoh´lica
                      o
     Se tienen las siguientes relaciones en una base de datos:

           Frecuenta(bebedor,bar,desde)
           Sirve(bar,cerveza)
           Gusta(bebedor,cerveza)

Donde ”frecuenta” indica si un bebedor frecuenta un bar, ”sirve” indica si un bar sirve un tipo de
cerveza y ”gusta” indica si un bebedor gusta de un tipo de cerveza. Suponga, adem´s, que la base
                                                                                    a
de datos modela toda una comunidad. Responda:

     1. Qu´ cervezas sirve el bar ”Don Lucho”.
          e

     2. Los bebedores que no frecuenten bares con cervezas de su agrado.

     3. Sabiendo que hay bares que sirven todos los tipos de cerveza, indicar cu´les son.
                                                                                a

     4. Aquellos bebedores que frecuentan todos los bares.

     5. Aquellos bebedores que gustan todos los tipos de cerveza.

     6. Esos bebedores que encuentran la cerveza “Shield” muy suave (no les gusta).

     7. Los bares que van a quebrar, pues ning´n bebedor los frecuenta.
                                              u

     8. Desde cu´ndo Petronila frecuenta el bar ”Don Lucho”.
                a

     9. Bebedores que beben lo mismo que Petronila.




                                                   2
2.2.   Campeonato de f´ tbol
                      u
   Sean los siguientes esquemas sobre un campeonato de f´tbol:
                                                        u

         Equipo(cod_equipo, nombre, RUT_DT)
         DT(RUT_DT,nombre,apellido)
         Jugador(RUT_J,nombre,apellido,cod_equipo,suspendido)
         Partido(cod_local, cod_visita, goles_local, goles_visita)

Sin usar el operador de agregaci´n, use ´lgebra relacional para entregar:
                                o       a

  1. La lista de los equipos y sus directores t´cnicos (con nombre y primer apellido).
                                               e
  2. Los directores t´cnicos retirados o cesantes.
                     e
  3. Los nombres de los equipos que han ganado al menos una vez.
  4. Los directores t´cnicos de los equipos que tienen 3 ´ m´s jugadores suspendidos.
                     e                                   o a
  5. Los jugadores suspendidos cuyos equipos han jugado s´lo 3 veces.
                                                         o
  6. El equipo que ha jugado contra todos los dem´s.
                                                 a
  7. El partido en el que ha habido la mayor diferencia de goles.

2.3.   Trabajando con instancias
   Sean las relaciones R y S definidas a continuaci´n:
                                                   o
                                      S (A,        C,    E)
    R (A, B,          C,    D)
                                          Pipo 21 % I
        Pipo 15 10 % 2.71
                                          Pipo 9 %        II
        Pipo 25 16 % 3.14                  ˜
        ˜                                 Nata 33 % III
        Nata 21 11 % 1.67
                                          Pipo 25 % IV
   Obtenga -o indique si no se puede- el resultado de las siguientes expresiones:

  1. a ← R ∪ S
  2. b ← ΠA,C (R)
  3. c ← ΠA,C (S)
  4. d ← b ∪ c
  5. e ← b ∩ c
  6. f ← b − c
  7. g ← c − b
  8. h ← σC>15 % (S)
  9. i ← ΠA (h)
 10. j ← R ∗ S

                                                 3
2.4.   Arriendo de propiedades
   Considere los siguientes esquemas:

         Arrendatario(RUT_A,nombre,apellido)
         Arrienda(RUT_A,Id_casa,deuda)
         Telefonos(RUT,fono)
         Due~o(RUT_D,nombre,apellido)
            n
         Casa(Id_casa,RUT_D,numero,calle,comuna)

Universo del discurso: Un arrendatario arrienda una casa al due˜o de ella. Puede o no tener deuda.
                                                               n
Adem´s, tanto el arrendatario como el due˜o pueden tener varios tel´fonos. Se sabe que (numero,
       a                                   n                        e
calle, comuna) es llave de Casa. Adem´s, una deuda igual a cero equivale a un arriendo sin deuda.
                                      a
    Con la informaci´n anterior, responda:
                     o

  1. Los arrendatarios de la casa que queda en Carrera 1024, Santiago.

  2. La deuda total que tienen los arrendatarios con Mar´ P´rez.
                                                        ıa e

  3. La deuda total para cada due˜o.
                                 n

  4. El n´mero de casas de cada due˜o.
         u                         n

  5. El total de tel´fonos de cada arrendador.
                    e

  6. El promedio de arrendatarios por casa.

  7. El promedio de arrendatarios por due˜o.
                                         n

  8. Los arrendatarios que tienen al menos 3 casas.

  9. Los due˜os que tienen deudores en todas sus casas.
            n

 10. El arrendatario que posee m´s casas.
                                a

2.5.   Cursos y alumnos
   Sea el siguiente modelo relacional:

         Alumno(RUT_A, nombre_a, carrera, nivel, edad)
         Curso(nombre_c, sala, cupo, RUT_P)
         Inscrito(RUT, nombre_c)
         Profesor(RUT_P, nombre_p, deptid)

Conteste:

  1. Obtenga todos los RUTs de la base de datos.

  2. Encuentre los nombre de todos los alumnos de 4to a˜o (level=04) que est´n tomando un curso
                                                       n                    a
     con J. Perez.


                                                 4
3. Encuentre la edad del estudiante de mayor edad que est´ en la especialidad de computaci´n
                                                              a                                o
        (major=cs) o esta tomando un curso con J. Perez.

     4. Encuentre los nombres de todas las clases que usan la sala CC204 (meets at=cc204) y que
        tienen m´s de 15 alumnos.
                a

     5. Encuentre los nombres de los profesores que hacen clases en todas las salas que se ocupan con
        tal prop´sito.
                o


3.      Problemas avanzados
3.1.     Problema del transporte
    Una empresa de transporte rural de pasajeros tiene en su base de datos informaci´n acerca de
                                                                                      o
los recorridos de sus buses. Un recorrido es una secuencia de paradas que comienzan en un terminal.
El n´mero de paradas var´ de un recorrido a otro, pero hay al menos una parada.
     u                     ıa
    El modelo relacional consiste en los siguientes esquemas:

           Salida(NumRecorrido,IdLocalidad)
           Parada(NumRecorrido,IdLocalidad,TiempoLleg)

Los atributos NumRecorrido e IdLocalidad identifican recorrido y localidad. El atributo TiempoLleg
indica cu´nto tarda, en promedio, en llegar un bus a la localidad desde que parti´ (la Salida).
         a                                                                        o
    Conteste:

     1. ¿Cu´l es el recorrido m´s largo seg´n n´mero de localidades? ¿Cu´l es el recorrido m´s largo
            a                  a           u u                          a                   a
        seg´n tiempo tomado?
           u

     2. Indique los recorridos con ciclos, i.e. aquellos recorridos en que se visita una localidad m´s de
                                                                                                    a
        una vez.

     3. Indique la parada central de cada recorrido. (Si un recorrido tiene cinco paradas, interesa la
        tercera parada. Y si tiene seis, tambi´n interesa la tercera.)
                                              e

3.2.     C´lculo relacional
          a
    El c´lculo relacional es un lenguaje de consulta que s´lo indica los requerimientos que la res-
        a                                                  o
puesta debe satisfacer. En otras palabras, no especifica la manera en la cual la consulta se llevar´
                                                                                                  a
a cabo (muy por el contrario del ´lgebra relacional).
                                  a
    Hay dos tipos de operaciones en el c´lculo relacional:
                                         a

C´lculo de Dominios Este tipo de operaciones altera el dominio (y el esquema) de acuerdo a su
 a
    aceptaci´n por una f´rmula l´gica. La forma de la consulta es: {X1 , ..., Xn : F (X1 , ..., Xn )}.
             o             o      o
    Los t´rminos X1 , ..., Xn denotan variables libres (aunque se podr´ incluir valores constan-
          e                                                           ıan
                                                          ´
    tes). Por ejemplo, usando el esquema del problema ”Algebra bohemia”, la consulta en c´lculo a
    relacional que devuelve los bares que sirven cerveza pero en los cuales no sirven lo que Tito
    gusta es:
    {bar : (∃cerveza)Sirve(bar, cerveza)∧(∀cerveza)Gusta(”T ito”, cerveza) ⇒ ¬Sirve(bar, cerveza)}

                                                    5
C´lculo de Tuplas Este tipo de operaciones devuelve tuplas de acuerdo a su aceptaci´n por una
 a                                                                                        o
    f´rmula l´gica. La forma de la consulta es: {t
     o         o                                   (n) : F (t)}, donde t es una tupla y n es el grado

    de t (se escribe opcionalmente, pero sirve para evitar ambig¨edades). Por ejemplo, usando el
                                                                    u
                              ´
    esquema del problema ”Algebra bohemia”, la consulta en c´lculo relacional que devuelve los
                                                                   a
    bares que frecuenta Tito es:
    {t(1) : (∃s)F recuenta(s) ∧ s[bebedor] = ”T ito” ∧ s[bar] = t[1]}

Las funciones l´gicas de c´lculo relacional, las f´rmulas, est´n compuestas por:
               o          a                       o           a

        Comparaciones aritm´ticas entre variables libres, constantes o ambas: =, =, ≤, ...
                           e

        Operaciones l´gicas entre f´rmulas: si F y G son f´rmulas, entonces F ∨ G, F ∧ G , ¬F
                     o             o                      o
        tambi´n lo son.
             e

        Cuantificadores: Si F es una f´rmula, entonces (∃X)F y (∀X)F son f´rmulas.
                                     o                                   o

Estando en conocimiento de esto:

     1. Demuestre que el c´lculo de tuplas es equivalente al c´lculo de dominios.
                          a                                   a

     2. Demuestre que el cuantificador ∀ es prescindible (escriba ∀ en funci´n de otros elementos que
                                                                           o
        compongan f´rmulas de c´lculo relacional).
                   o            a

     3. Pruebe que el c´lculo relacional es m´s expresivo que el ´lgebra relacional. Para esto, escriba
                       a                     a                   a
        los operadores de ´lgebra relacional como consultas de c´lculo relacional.
                          a                                      a


4.      Soluciones selectas
1.1 No. Si bien se cumple A = (A × B) ÷ B, no se cumple A = (A ÷ B) × B.

1.2 Son 2n − 1 proyecciones distintas.

1.4 Quienes hablan todos los idiomas: R ÷ S. Si el conjunto anterior es no vac´ entonces es
                                                                              ıo,
     equivalente a: R ÷ πIdiomas (R) (prescindiendo de S).

1.5 La intersecci´n se puede escribir como A − (A − B) o como B − (B − A).
                 o

1.7 En la ausencia de atributos comunes, no d´nde hacer comparaci´n. Ahora, si todos los atributos
                                             o                   o
     son compartidos, se tiene que A B = A ∩ B.

1.8 Cotas:

        (a) M ax(n, m) ≤ |R ∪ S| ≤ n + m. M ax(0, n − m) ≤ |R − S| ≤ n. 0 ≤ |R ∩ S| ≤ M in(n, m).
                                                                                  n
        (b) 0 ≤ |R    S| ≤ M in(n, m). 0 ≤ |R     c   S| ≤ n · m. 0 ≤ |R ÷ S| ≤   m   .

1.9 Digamos que a se relaciona con algunos b. ¿Se relaciona a con todo b en B? Si la relaci´n   o
     R = (a, b) encapsula la relaci´n de a con b, entonces la divisi´n contesta la pregunta: R ÷ B
                                   o                                o
     son todos los a que se relacionan con todos los b ∈ B.


                                                      6
((A × B) ÷ B) Se tiene que A = (A × B) ÷ B.
     ((A    B) ÷ B) No se puede aseverar mucho del join natural, salvo que (A                   B) ÷ B ⊆
           πEsq(A)−Esq(B) A.

1.11 Queda:

     (a) R ∪ S = S
     (b) R      S=R
     (c) σA (R) − S = ∅
     (d) πX (R) ∩ πX (S) = πX (S)

     ´
2.1 (Algebra alcoh´lica)
                  o

     (1) Una consulta trivial: π{cerveza} [σcerveza= Don      Lucho   (Sirve)]
     (2) π{bebedor} F recuenta − π{bebedor} F recuenta     (Sirve     Gusta) . Las negaciones se
         pueden tratar como complementos (si es que su complemento es m´s sencillo). Aparte,
                                                                              a
         el orden de los par´ntesis del trio de reuniones naturales no altera el resultado (en este
                             e
         caso).
     (3) Algo que se relaciona con todo un grupo es una divisi´n: Sirve ÷ π{cerveza} (Sirve).
                                                              o
     (4) Otra divisi´n: π{bebedor,bar} F recuenta ÷ π{bar} Sirve .
                    o
     (5) Gusta ÷ π{cerveza} Sirve .
     (6) Otra resta: π{bebedor} Gusta − π{bebedor} σcerveza= Shield Gusta . N´tese que una consulta
                                                                              o
         de la forma π{bebedor} σcerveza= Shield (Gusta) es incorrecta. Por ejemplo, para las tuplas
         {(Abdul, Shield), (Abdul, Crystal)}, la selecci´n (σ) entregar´ (Abdul, Crystal), y luego
                                                         o               ıa
         la proyecci´n entregar´ Abdul, cuando Abdul gusta de la cerveza Shield.
                    o            ıa
     (7) Otra resta: π{bar} Sirve − π{bar} F recuenta . Se ha supuesto que todo bar sirve cerveza.
     (8) Una consulta trivial: π{desde} σbar= Don Lucho ∧bebedor= P etronila (F recuenta)
     (9) Otra divisi´n, pero hay que suponer que un bebedor consumir´ s´lo la cerveza dis-
                      o                                                 a o
         ponible en los bares que frecuenta, y s´lo la que gusta, lo que corresponde a: A ←
                                                       o
         π{bebedor,cerveza} (F recuenta (Sirve Gusta)). Ahora, si bebe lo mismo que Petroni-
         la: A ÷ π{cerveza} (σbebedor= P etronila A) .

2.4 (Arriendo de propiedades)

     (2) ℵ<sum(deuda)> σnombre= M aria ∧apellido= P erez Dueno           Casa       Arrienda.
     (4)   <rut d,nombre,apellido> ℵ<rut d,nombre,apellido,count(id casa)> Casa     Dueno.
     (6) ℵ<avg(K)>     <id casa> ℵ<id casa,count(rut a) as K> Arrienda     .
     (8)   <rut a> ℵ<rut a,count(id casa)>   σrut   a=rut d (Arrienda   × Casa) .
     (10) Una respuesta no agregada ser´ Dueno πrut
                                        ıa                        d   A−πA.rut d,A.K σA.K<B.K A×B , don-
         de A ← <rut d> ℵ<rut d,count(id casa) as K> Casa             Dueno, B ← A. Usando agregaci´n,
                                                                                                     o
         Dueno πrut d σK=L A × (ℵ<M ax(K) as L> A) .


                                                        7
3.1 (Problema del transporte)

     (1) Recorridos m´s largos:
                     a
          (1.1) Seg´n n´mero de localidades. Primero se debe conocer el largo de cada recorri-
                    u u
              do: N ← <N umRecorrido> ℵ<N umRecorrido,count(IdLocalidad) K> M , con M ← Salida ∪
              π{N umRecorrido,IdLocalidad} P arada . Con esto, el recorrido m´s largo ser´:
                                                                             a           a
              π{N umRecorrido} N K=L (ℵ<max(K) L> N )
          (1.2) En t´rminos de tiempo, interesa el recorrido cuya ultima parada ocurra la mayor
                     e                                                 ´
              cantidad de tiempo posible despu´s de la salida. Esto es:
                                                   e
              π{N umRecorrido} {P arada T iempoLleg=K ℵ<max(T iempoLleg) K> P arada }
     (2) Por cada recorrido, si se encuentran dos paradas con igual localidad pero distinto mo-
         mento de llegada, se ha encontrado un ciclo. Luego la respuesta es:
         π{N umRec} σA.N umRec=B.N umRec∧A.IdLoc=B.IdLoc∧A.T iempoLleg=B.T iempoLleg (A × B),
         en donde A, B ← P arada.
     (3) Se supone que no es posible que dos paradas distintas de un mismo recorrido ocurran
         al mismo momento de llegada (es algo imposible f´       ısicamente). Luego el resultado se
         reduce a exigir que, dado un recorrido, las paradas previas sean tantas como las paradas
         posteriores, o las paradas posteriores sean una m´s. Sean A, B, C ← P arada. Entonces:
                                                             a
         R1 ← σA.N umRecorrido=B.N umRecorrido∧B.N umRecorrido=C.N umRecorrido A × B × C
         R2 ← σA.T iempoLleg>B.T iempoLleg∧A.T iempoLleg<C.T iempoLleg R1
         R3 ←<A.N umRecorrido> ℵ<A.N umRecorrido N,count(B.IdLocalidad) U,count(C.IdLocalidad) V > R2
         Respuesta: σU =V ∧U =V −1 (R3 ).




                                                 8

Más contenido relacionado

La actualidad más candente

La actualidad más candente (6)

Conteo
ConteoConteo
Conteo
 
2011f1n3
2011f1n32011f1n3
2011f1n3
 
P aptitud2009 i
P aptitud2009 iP aptitud2009 i
P aptitud2009 i
 
Prueba diagnostica con respuestas ambiental
Prueba diagnostica con respuestas   ambientalPrueba diagnostica con respuestas   ambiental
Prueba diagnostica con respuestas ambiental
 
Portafolio
PortafolioPortafolio
Portafolio
 
101 matematicas
101 matematicas101 matematicas
101 matematicas
 

Destacado

Carpeta literaria para español.
Carpeta literaria para español.Carpeta literaria para español.
Carpeta literaria para español.Giovanitublog
 
origen del algebra
origen del algebraorigen del algebra
origen del algebranik0llmurcia
 
El algebra y_su_historia
El algebra y_su_historiaEl algebra y_su_historia
El algebra y_su_historiaJesus Ramos
 
Presentacion la historia del algebra
Presentacion la historia del algebraPresentacion la historia del algebra
Presentacion la historia del algebramijinina
 
Linea del tiempo del algebra
Linea del tiempo del algebraLinea del tiempo del algebra
Linea del tiempo del algebraDiana HA
 
Historia del álgebra
Historia del álgebra Historia del álgebra
Historia del álgebra misteryansen
 
Linea del tiempo del álgebra
Linea del tiempo del álgebra Linea del tiempo del álgebra
Linea del tiempo del álgebra BrianAR799
 
Breve Historia del Álgebra
Breve Historia del ÁlgebraBreve Historia del Álgebra
Breve Historia del ÁlgebraJSulcaM
 
ETAPAS DEL DESARROLLO DEL ALGEBRA
ETAPAS DEL DESARROLLO DEL ALGEBRAETAPAS DEL DESARROLLO DEL ALGEBRA
ETAPAS DEL DESARROLLO DEL ALGEBRACesarReyesPuentes
 
Exposicion 5 Algebra Introduccion
Exposicion 5 Algebra IntroduccionExposicion 5 Algebra Introduccion
Exposicion 5 Algebra Introduccionnntk
 
Historia del álgebra
Historia del álgebraHistoria del álgebra
Historia del álgebramijinina
 
Sesión de aprendizaje de algebra final
Sesión de aprendizaje de algebra finalSesión de aprendizaje de algebra final
Sesión de aprendizaje de algebra finalcdibarburut
 
2ª parte.inicio a la lectura ii. sm nuevo parque de papel
2ª parte.inicio a la lectura ii. sm nuevo parque de papel2ª parte.inicio a la lectura ii. sm nuevo parque de papel
2ª parte.inicio a la lectura ii. sm nuevo parque de papelmjosefs
 

Destacado (18)

Guia algebra
Guia algebraGuia algebra
Guia algebra
 
Bibliografía
BibliografíaBibliografía
Bibliografía
 
Carpeta literaria para español.
Carpeta literaria para español.Carpeta literaria para español.
Carpeta literaria para español.
 
origen del algebra
origen del algebraorigen del algebra
origen del algebra
 
El algebra y_su_historia
El algebra y_su_historiaEl algebra y_su_historia
El algebra y_su_historia
 
Presentacion la historia del algebra
Presentacion la historia del algebraPresentacion la historia del algebra
Presentacion la historia del algebra
 
Linea del tiempo del algebra
Linea del tiempo del algebraLinea del tiempo del algebra
Linea del tiempo del algebra
 
Historia del álgebra
Historia del álgebraHistoria del álgebra
Historia del álgebra
 
Historia del álgebra
Historia del álgebra Historia del álgebra
Historia del álgebra
 
Linea del tiempo del álgebra
Linea del tiempo del álgebra Linea del tiempo del álgebra
Linea del tiempo del álgebra
 
Breve Historia del Álgebra
Breve Historia del ÁlgebraBreve Historia del Álgebra
Breve Historia del Álgebra
 
Sesion area matematica nivel secundaria
Sesion area matematica nivel secundariaSesion area matematica nivel secundaria
Sesion area matematica nivel secundaria
 
ETAPAS DEL DESARROLLO DEL ALGEBRA
ETAPAS DEL DESARROLLO DEL ALGEBRAETAPAS DEL DESARROLLO DEL ALGEBRA
ETAPAS DEL DESARROLLO DEL ALGEBRA
 
Exposicion 5 Algebra Introduccion
Exposicion 5 Algebra IntroduccionExposicion 5 Algebra Introduccion
Exposicion 5 Algebra Introduccion
 
Historia del álgebra
Historia del álgebraHistoria del álgebra
Historia del álgebra
 
Sesión de aprendizaje de algebra final
Sesión de aprendizaje de algebra finalSesión de aprendizaje de algebra final
Sesión de aprendizaje de algebra final
 
HISTORIA DEL ALGEBRA
HISTORIA DEL ALGEBRAHISTORIA DEL ALGEBRA
HISTORIA DEL ALGEBRA
 
2ª parte.inicio a la lectura ii. sm nuevo parque de papel
2ª parte.inicio a la lectura ii. sm nuevo parque de papel2ª parte.inicio a la lectura ii. sm nuevo parque de papel
2ª parte.inicio a la lectura ii. sm nuevo parque de papel
 

Similar a Guia algebra

Calculo de predicados
Calculo de predicadosCalculo de predicados
Calculo de predicadosBertha Vega
 
1 combinatoria
1 combinatoria1 combinatoria
1 combinatoriaortari2014
 
4020-S3-M2- PROBLEMAS FRACCIONES
4020-S3-M2- PROBLEMAS FRACCIONES4020-S3-M2- PROBLEMAS FRACCIONES
4020-S3-M2- PROBLEMAS FRACCIONESJorge La Chira
 
Prueba de reconocimiento de comp y capa 2° mate
Prueba de reconocimiento de comp y capa 2° matePrueba de reconocimiento de comp y capa 2° mate
Prueba de reconocimiento de comp y capa 2° mateReymundo Salcedo
 
7 btoq linear correlation and regression analysis 2019
7 btoq linear correlation and regression analysis 20197 btoq linear correlation and regression analysis 2019
7 btoq linear correlation and regression analysis 2019Edgar Mata
 
S04_s7_Función_exponencial_y_logaritmo.pdf
S04_s7_Función_exponencial_y_logaritmo.pdfS04_s7_Función_exponencial_y_logaritmo.pdf
S04_s7_Función_exponencial_y_logaritmo.pdfrogeliobarrueta
 
Guia n°1 matematicas 11° primer periodo
Guia n°1 matematicas 11° primer periodoGuia n°1 matematicas 11° primer periodo
Guia n°1 matematicas 11° primer periodoTeddy Rúa Fuentes
 
1 guia de intervalos, desigualdades e inecuaciones.
1 guia de  intervalos, desigualdades e  inecuaciones.1 guia de  intervalos, desigualdades e  inecuaciones.
1 guia de intervalos, desigualdades e inecuaciones.Omar Estrada Trespalacios
 
Semana 2-Sesion 1.pdf
Semana 2-Sesion 1.pdfSemana 2-Sesion 1.pdf
Semana 2-Sesion 1.pdfluigidegollar
 
Calculo diferencial e integral
Calculo diferencial e integralCalculo diferencial e integral
Calculo diferencial e integralRafael Castro F
 
Libro de introduccion a la matematica universitaria
Libro de introduccion a la matematica universitariaLibro de introduccion a la matematica universitaria
Libro de introduccion a la matematica universitariaMansions
 

Similar a Guia algebra (20)

Calculo de predicados
Calculo de predicadosCalculo de predicados
Calculo de predicados
 
1 combinatoria
1 combinatoria1 combinatoria
1 combinatoria
 
Logaritmos
LogaritmosLogaritmos
Logaritmos
 
Rep 1 mat gral
Rep 1 mat gralRep 1 mat gral
Rep 1 mat gral
 
4020-S3-M2- PROBLEMAS FRACCIONES
4020-S3-M2- PROBLEMAS FRACCIONES4020-S3-M2- PROBLEMAS FRACCIONES
4020-S3-M2- PROBLEMAS FRACCIONES
 
Prueba de reconocimiento de comp y capa 2° mate
Prueba de reconocimiento de comp y capa 2° matePrueba de reconocimiento de comp y capa 2° mate
Prueba de reconocimiento de comp y capa 2° mate
 
7 btoq linear correlation and regression analysis 2019
7 btoq linear correlation and regression analysis 20197 btoq linear correlation and regression analysis 2019
7 btoq linear correlation and regression analysis 2019
 
Revista proporcionalidad
Revista  proporcionalidadRevista  proporcionalidad
Revista proporcionalidad
 
S04_s7_Función_exponencial_y_logaritmo.pdf
S04_s7_Función_exponencial_y_logaritmo.pdfS04_s7_Función_exponencial_y_logaritmo.pdf
S04_s7_Función_exponencial_y_logaritmo.pdf
 
Hoja trabajo 1.1 3eso
Hoja trabajo 1.1 3esoHoja trabajo 1.1 3eso
Hoja trabajo 1.1 3eso
 
Septimo grado
Septimo gradoSeptimo grado
Septimo grado
 
Clase 12 Buscando regularidades
Clase 12 Buscando regularidadesClase 12 Buscando regularidades
Clase 12 Buscando regularidades
 
Guia n°1 matematicas 11° primer periodo
Guia n°1 matematicas 11° primer periodoGuia n°1 matematicas 11° primer periodo
Guia n°1 matematicas 11° primer periodo
 
MATEMATICAS
MATEMATICASMATEMATICAS
MATEMATICAS
 
1 guia de intervalos, desigualdades e inecuaciones.
1 guia de  intervalos, desigualdades e  inecuaciones.1 guia de  intervalos, desigualdades e  inecuaciones.
1 guia de intervalos, desigualdades e inecuaciones.
 
Semana 2-Sesion 1.pdf
Semana 2-Sesion 1.pdfSemana 2-Sesion 1.pdf
Semana 2-Sesion 1.pdf
 
Taller nivel basico 3
Taller nivel basico 3Taller nivel basico 3
Taller nivel basico 3
 
Calculo diferencial e integral
Calculo diferencial e integralCalculo diferencial e integral
Calculo diferencial e integral
 
Libro de introduccion a la matematica universitaria
Libro de introduccion a la matematica universitariaLibro de introduccion a la matematica universitaria
Libro de introduccion a la matematica universitaria
 
Desigualdades
DesigualdadesDesigualdades
Desigualdades
 

Último

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Último (11)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Guia algebra

  • 1. ´ Gu´a de Algebra Relacional ı Prof. Claudio Guti´rrez, Aux. Mauricio Monsalve e Primavera de 2007 1. Problemas conceptuales 1. ¿Son la divisi´n y el producto operaciones inversas? o 2. ¿Cu´ntas proyecciones existen, cuyo resultado es no vac´ sobre una relaci´n no vac´ de n a ıo, o ıa atributos? 3. ¿Qu´ operadores relacionales son conmutativos? e 4. Sea R = (P ersona, Idioma) y S = (Idioma). ¿Qui´nes hablan todos los idiomas? (¿Qu´ se e e debe cumplir para prescindir de S ?) 5. Defina intersecci´n y join natural utilizando s´lo los operadores diferencia, producto, proyec- o o ci´n y selecci´n. o o 6. Suponga que las relaciones A, B, C y D tienen 100, 1000, 10000 y 50 tuplas, respectivamente. Ordene la operaci´n A B C D para que sea m´s eficiente. o a 7. Sean R y S dos relaciones sin atributos comunes (sus esquemas son disjuntos). ¿Por qu´ la e operaci´n R S (join natural) es equivalente a la operaci´n R × S? ¿Qu´ ocurre en el caso o o e opuesto, cuando R y S tienen el mismo esquema? 8. Sean R y S dos relaciones con el mismo esquema y que tienen n y m tuplas, respectivamente. D´ cotas para la cardinalidad de las siguientes operaciones: e a) R ∪ S, R − S y R ∩ S b) R S, R c S y R÷S 9. ¿Cu´l es la filosof´ de la divisi´n? ¿Cu´ndo ocupar´ esta relaci´n? Indique qu´ ocurre con a ıa o a ıa o e (A × B) ÷ B y con (A B) ÷ B. 10. Sean los esquemas de relaci´n R(A, B, C) y T (B, D). La relaci´n R tiene n tuplas y T tiene m o o tuplas, cumpli´ndose que n>m>0. Indicar el tama˜o m´ e n ınimo y m´ximo de las siguientes ex- a presiones relacionales (cotas para la cardinalidad). Indicar, adem´s, si cambian los resultados a al saber que B es llave de R y de T, y cu´les son los cambios. a a) R T b) σc (R) 1
  • 2. c) R − (T − R) d) R ÷ T e) R ∗ (R ÷ T ) 11. Sea R ⊂ S. Simplifique al m´ximo las siguientes expresiones: a a) R ∪ S b) R S c) σA=a (R) − S d ) ΠX (R) ∩ ΠX (S) 2. Problemas tipo 2.1. ´ Algebra alcoh´lica o Se tienen las siguientes relaciones en una base de datos: Frecuenta(bebedor,bar,desde) Sirve(bar,cerveza) Gusta(bebedor,cerveza) Donde ”frecuenta” indica si un bebedor frecuenta un bar, ”sirve” indica si un bar sirve un tipo de cerveza y ”gusta” indica si un bebedor gusta de un tipo de cerveza. Suponga, adem´s, que la base a de datos modela toda una comunidad. Responda: 1. Qu´ cervezas sirve el bar ”Don Lucho”. e 2. Los bebedores que no frecuenten bares con cervezas de su agrado. 3. Sabiendo que hay bares que sirven todos los tipos de cerveza, indicar cu´les son. a 4. Aquellos bebedores que frecuentan todos los bares. 5. Aquellos bebedores que gustan todos los tipos de cerveza. 6. Esos bebedores que encuentran la cerveza “Shield” muy suave (no les gusta). 7. Los bares que van a quebrar, pues ning´n bebedor los frecuenta. u 8. Desde cu´ndo Petronila frecuenta el bar ”Don Lucho”. a 9. Bebedores que beben lo mismo que Petronila. 2
  • 3. 2.2. Campeonato de f´ tbol u Sean los siguientes esquemas sobre un campeonato de f´tbol: u Equipo(cod_equipo, nombre, RUT_DT) DT(RUT_DT,nombre,apellido) Jugador(RUT_J,nombre,apellido,cod_equipo,suspendido) Partido(cod_local, cod_visita, goles_local, goles_visita) Sin usar el operador de agregaci´n, use ´lgebra relacional para entregar: o a 1. La lista de los equipos y sus directores t´cnicos (con nombre y primer apellido). e 2. Los directores t´cnicos retirados o cesantes. e 3. Los nombres de los equipos que han ganado al menos una vez. 4. Los directores t´cnicos de los equipos que tienen 3 ´ m´s jugadores suspendidos. e o a 5. Los jugadores suspendidos cuyos equipos han jugado s´lo 3 veces. o 6. El equipo que ha jugado contra todos los dem´s. a 7. El partido en el que ha habido la mayor diferencia de goles. 2.3. Trabajando con instancias Sean las relaciones R y S definidas a continuaci´n: o S (A, C, E) R (A, B, C, D) Pipo 21 % I Pipo 15 10 % 2.71 Pipo 9 % II Pipo 25 16 % 3.14 ˜ ˜ Nata 33 % III Nata 21 11 % 1.67 Pipo 25 % IV Obtenga -o indique si no se puede- el resultado de las siguientes expresiones: 1. a ← R ∪ S 2. b ← ΠA,C (R) 3. c ← ΠA,C (S) 4. d ← b ∪ c 5. e ← b ∩ c 6. f ← b − c 7. g ← c − b 8. h ← σC>15 % (S) 9. i ← ΠA (h) 10. j ← R ∗ S 3
  • 4. 2.4. Arriendo de propiedades Considere los siguientes esquemas: Arrendatario(RUT_A,nombre,apellido) Arrienda(RUT_A,Id_casa,deuda) Telefonos(RUT,fono) Due~o(RUT_D,nombre,apellido) n Casa(Id_casa,RUT_D,numero,calle,comuna) Universo del discurso: Un arrendatario arrienda una casa al due˜o de ella. Puede o no tener deuda. n Adem´s, tanto el arrendatario como el due˜o pueden tener varios tel´fonos. Se sabe que (numero, a n e calle, comuna) es llave de Casa. Adem´s, una deuda igual a cero equivale a un arriendo sin deuda. a Con la informaci´n anterior, responda: o 1. Los arrendatarios de la casa que queda en Carrera 1024, Santiago. 2. La deuda total que tienen los arrendatarios con Mar´ P´rez. ıa e 3. La deuda total para cada due˜o. n 4. El n´mero de casas de cada due˜o. u n 5. El total de tel´fonos de cada arrendador. e 6. El promedio de arrendatarios por casa. 7. El promedio de arrendatarios por due˜o. n 8. Los arrendatarios que tienen al menos 3 casas. 9. Los due˜os que tienen deudores en todas sus casas. n 10. El arrendatario que posee m´s casas. a 2.5. Cursos y alumnos Sea el siguiente modelo relacional: Alumno(RUT_A, nombre_a, carrera, nivel, edad) Curso(nombre_c, sala, cupo, RUT_P) Inscrito(RUT, nombre_c) Profesor(RUT_P, nombre_p, deptid) Conteste: 1. Obtenga todos los RUTs de la base de datos. 2. Encuentre los nombre de todos los alumnos de 4to a˜o (level=04) que est´n tomando un curso n a con J. Perez. 4
  • 5. 3. Encuentre la edad del estudiante de mayor edad que est´ en la especialidad de computaci´n a o (major=cs) o esta tomando un curso con J. Perez. 4. Encuentre los nombres de todas las clases que usan la sala CC204 (meets at=cc204) y que tienen m´s de 15 alumnos. a 5. Encuentre los nombres de los profesores que hacen clases en todas las salas que se ocupan con tal prop´sito. o 3. Problemas avanzados 3.1. Problema del transporte Una empresa de transporte rural de pasajeros tiene en su base de datos informaci´n acerca de o los recorridos de sus buses. Un recorrido es una secuencia de paradas que comienzan en un terminal. El n´mero de paradas var´ de un recorrido a otro, pero hay al menos una parada. u ıa El modelo relacional consiste en los siguientes esquemas: Salida(NumRecorrido,IdLocalidad) Parada(NumRecorrido,IdLocalidad,TiempoLleg) Los atributos NumRecorrido e IdLocalidad identifican recorrido y localidad. El atributo TiempoLleg indica cu´nto tarda, en promedio, en llegar un bus a la localidad desde que parti´ (la Salida). a o Conteste: 1. ¿Cu´l es el recorrido m´s largo seg´n n´mero de localidades? ¿Cu´l es el recorrido m´s largo a a u u a a seg´n tiempo tomado? u 2. Indique los recorridos con ciclos, i.e. aquellos recorridos en que se visita una localidad m´s de a una vez. 3. Indique la parada central de cada recorrido. (Si un recorrido tiene cinco paradas, interesa la tercera parada. Y si tiene seis, tambi´n interesa la tercera.) e 3.2. C´lculo relacional a El c´lculo relacional es un lenguaje de consulta que s´lo indica los requerimientos que la res- a o puesta debe satisfacer. En otras palabras, no especifica la manera en la cual la consulta se llevar´ a a cabo (muy por el contrario del ´lgebra relacional). a Hay dos tipos de operaciones en el c´lculo relacional: a C´lculo de Dominios Este tipo de operaciones altera el dominio (y el esquema) de acuerdo a su a aceptaci´n por una f´rmula l´gica. La forma de la consulta es: {X1 , ..., Xn : F (X1 , ..., Xn )}. o o o Los t´rminos X1 , ..., Xn denotan variables libres (aunque se podr´ incluir valores constan- e ıan ´ tes). Por ejemplo, usando el esquema del problema ”Algebra bohemia”, la consulta en c´lculo a relacional que devuelve los bares que sirven cerveza pero en los cuales no sirven lo que Tito gusta es: {bar : (∃cerveza)Sirve(bar, cerveza)∧(∀cerveza)Gusta(”T ito”, cerveza) ⇒ ¬Sirve(bar, cerveza)} 5
  • 6. C´lculo de Tuplas Este tipo de operaciones devuelve tuplas de acuerdo a su aceptaci´n por una a o f´rmula l´gica. La forma de la consulta es: {t o o (n) : F (t)}, donde t es una tupla y n es el grado de t (se escribe opcionalmente, pero sirve para evitar ambig¨edades). Por ejemplo, usando el u ´ esquema del problema ”Algebra bohemia”, la consulta en c´lculo relacional que devuelve los a bares que frecuenta Tito es: {t(1) : (∃s)F recuenta(s) ∧ s[bebedor] = ”T ito” ∧ s[bar] = t[1]} Las funciones l´gicas de c´lculo relacional, las f´rmulas, est´n compuestas por: o a o a Comparaciones aritm´ticas entre variables libres, constantes o ambas: =, =, ≤, ... e Operaciones l´gicas entre f´rmulas: si F y G son f´rmulas, entonces F ∨ G, F ∧ G , ¬F o o o tambi´n lo son. e Cuantificadores: Si F es una f´rmula, entonces (∃X)F y (∀X)F son f´rmulas. o o Estando en conocimiento de esto: 1. Demuestre que el c´lculo de tuplas es equivalente al c´lculo de dominios. a a 2. Demuestre que el cuantificador ∀ es prescindible (escriba ∀ en funci´n de otros elementos que o compongan f´rmulas de c´lculo relacional). o a 3. Pruebe que el c´lculo relacional es m´s expresivo que el ´lgebra relacional. Para esto, escriba a a a los operadores de ´lgebra relacional como consultas de c´lculo relacional. a a 4. Soluciones selectas 1.1 No. Si bien se cumple A = (A × B) ÷ B, no se cumple A = (A ÷ B) × B. 1.2 Son 2n − 1 proyecciones distintas. 1.4 Quienes hablan todos los idiomas: R ÷ S. Si el conjunto anterior es no vac´ entonces es ıo, equivalente a: R ÷ πIdiomas (R) (prescindiendo de S). 1.5 La intersecci´n se puede escribir como A − (A − B) o como B − (B − A). o 1.7 En la ausencia de atributos comunes, no d´nde hacer comparaci´n. Ahora, si todos los atributos o o son compartidos, se tiene que A B = A ∩ B. 1.8 Cotas: (a) M ax(n, m) ≤ |R ∪ S| ≤ n + m. M ax(0, n − m) ≤ |R − S| ≤ n. 0 ≤ |R ∩ S| ≤ M in(n, m). n (b) 0 ≤ |R S| ≤ M in(n, m). 0 ≤ |R c S| ≤ n · m. 0 ≤ |R ÷ S| ≤ m . 1.9 Digamos que a se relaciona con algunos b. ¿Se relaciona a con todo b en B? Si la relaci´n o R = (a, b) encapsula la relaci´n de a con b, entonces la divisi´n contesta la pregunta: R ÷ B o o son todos los a que se relacionan con todos los b ∈ B. 6
  • 7. ((A × B) ÷ B) Se tiene que A = (A × B) ÷ B. ((A B) ÷ B) No se puede aseverar mucho del join natural, salvo que (A B) ÷ B ⊆ πEsq(A)−Esq(B) A. 1.11 Queda: (a) R ∪ S = S (b) R S=R (c) σA (R) − S = ∅ (d) πX (R) ∩ πX (S) = πX (S) ´ 2.1 (Algebra alcoh´lica) o (1) Una consulta trivial: π{cerveza} [σcerveza= Don Lucho (Sirve)] (2) π{bebedor} F recuenta − π{bebedor} F recuenta (Sirve Gusta) . Las negaciones se pueden tratar como complementos (si es que su complemento es m´s sencillo). Aparte, a el orden de los par´ntesis del trio de reuniones naturales no altera el resultado (en este e caso). (3) Algo que se relaciona con todo un grupo es una divisi´n: Sirve ÷ π{cerveza} (Sirve). o (4) Otra divisi´n: π{bebedor,bar} F recuenta ÷ π{bar} Sirve . o (5) Gusta ÷ π{cerveza} Sirve . (6) Otra resta: π{bebedor} Gusta − π{bebedor} σcerveza= Shield Gusta . N´tese que una consulta o de la forma π{bebedor} σcerveza= Shield (Gusta) es incorrecta. Por ejemplo, para las tuplas {(Abdul, Shield), (Abdul, Crystal)}, la selecci´n (σ) entregar´ (Abdul, Crystal), y luego o ıa la proyecci´n entregar´ Abdul, cuando Abdul gusta de la cerveza Shield. o ıa (7) Otra resta: π{bar} Sirve − π{bar} F recuenta . Se ha supuesto que todo bar sirve cerveza. (8) Una consulta trivial: π{desde} σbar= Don Lucho ∧bebedor= P etronila (F recuenta) (9) Otra divisi´n, pero hay que suponer que un bebedor consumir´ s´lo la cerveza dis- o a o ponible en los bares que frecuenta, y s´lo la que gusta, lo que corresponde a: A ← o π{bebedor,cerveza} (F recuenta (Sirve Gusta)). Ahora, si bebe lo mismo que Petroni- la: A ÷ π{cerveza} (σbebedor= P etronila A) . 2.4 (Arriendo de propiedades) (2) ℵ<sum(deuda)> σnombre= M aria ∧apellido= P erez Dueno Casa Arrienda. (4) <rut d,nombre,apellido> ℵ<rut d,nombre,apellido,count(id casa)> Casa Dueno. (6) ℵ<avg(K)> <id casa> ℵ<id casa,count(rut a) as K> Arrienda . (8) <rut a> ℵ<rut a,count(id casa)> σrut a=rut d (Arrienda × Casa) . (10) Una respuesta no agregada ser´ Dueno πrut ıa d A−πA.rut d,A.K σA.K<B.K A×B , don- de A ← <rut d> ℵ<rut d,count(id casa) as K> Casa Dueno, B ← A. Usando agregaci´n, o Dueno πrut d σK=L A × (ℵ<M ax(K) as L> A) . 7
  • 8. 3.1 (Problema del transporte) (1) Recorridos m´s largos: a (1.1) Seg´n n´mero de localidades. Primero se debe conocer el largo de cada recorri- u u do: N ← <N umRecorrido> ℵ<N umRecorrido,count(IdLocalidad) K> M , con M ← Salida ∪ π{N umRecorrido,IdLocalidad} P arada . Con esto, el recorrido m´s largo ser´: a a π{N umRecorrido} N K=L (ℵ<max(K) L> N ) (1.2) En t´rminos de tiempo, interesa el recorrido cuya ultima parada ocurra la mayor e ´ cantidad de tiempo posible despu´s de la salida. Esto es: e π{N umRecorrido} {P arada T iempoLleg=K ℵ<max(T iempoLleg) K> P arada } (2) Por cada recorrido, si se encuentran dos paradas con igual localidad pero distinto mo- mento de llegada, se ha encontrado un ciclo. Luego la respuesta es: π{N umRec} σA.N umRec=B.N umRec∧A.IdLoc=B.IdLoc∧A.T iempoLleg=B.T iempoLleg (A × B), en donde A, B ← P arada. (3) Se supone que no es posible que dos paradas distintas de un mismo recorrido ocurran al mismo momento de llegada (es algo imposible f´ ısicamente). Luego el resultado se reduce a exigir que, dado un recorrido, las paradas previas sean tantas como las paradas posteriores, o las paradas posteriores sean una m´s. Sean A, B, C ← P arada. Entonces: a R1 ← σA.N umRecorrido=B.N umRecorrido∧B.N umRecorrido=C.N umRecorrido A × B × C R2 ← σA.T iempoLleg>B.T iempoLleg∧A.T iempoLleg<C.T iempoLleg R1 R3 ←<A.N umRecorrido> ℵ<A.N umRecorrido N,count(B.IdLocalidad) U,count(C.IdLocalidad) V > R2 Respuesta: σU =V ∧U =V −1 (R3 ). 8