´
                                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

PDF
Libro sep
PDF
Examen abril 2010 resuelto
PDF
Guia 01. Mat I
PDF
Instrumentos de evaluacion gonzalo revelo pabon
DOC
Sistema numérico.
PDF
DOCX
Modulo ii sucesiones y ecuaciones 1º
Libro sep
Examen abril 2010 resuelto
Guia 01. Mat I
Instrumentos de evaluacion gonzalo revelo pabon
Sistema numérico.
Modulo ii sucesiones y ecuaciones 1º

La actualidad más candente (6)

PDF
2011f1n3
PDF
P aptitud2009 i
DOCX
Prueba diagnostica con respuestas ambiental
DOCX
Portafolio
PDF
101 matematicas
2011f1n3
P aptitud2009 i
Prueba diagnostica con respuestas ambiental
Portafolio
101 matematicas
Publicidad

Destacado (18)

DOC
PDF
Guia algebra
PPTX
Carpeta literaria para español.
PPSX
origen del algebra
PDF
El algebra y_su_historia
PPT
Presentacion la historia del algebra
PDF
Linea del tiempo del algebra
DOCX
Historia del álgebra
PDF
Linea del tiempo del álgebra
PPT
Historia del álgebra
PDF
Breve Historia del Álgebra
DOC
Sesion area matematica nivel secundaria
DOCX
ETAPAS DEL DESARROLLO DEL ALGEBRA
PPT
Exposicion 5 Algebra Introduccion
PPTX
Historia del álgebra
DOCX
Sesión de aprendizaje de algebra final
DOCX
HISTORIA DEL ALGEBRA
PPT
2ª parte.inicio a la lectura ii. sm nuevo parque de papel
Guia algebra
Carpeta literaria para español.
origen del algebra
El algebra y_su_historia
Presentacion la historia del algebra
Linea del tiempo del algebra
Historia del álgebra
Linea del tiempo del álgebra
Historia del álgebra
Breve Historia del Álgebra
Sesion area matematica nivel secundaria
ETAPAS DEL DESARROLLO DEL ALGEBRA
Exposicion 5 Algebra Introduccion
Historia del álgebra
Sesión de aprendizaje de algebra final
HISTORIA DEL ALGEBRA
2ª parte.inicio a la lectura ii. sm nuevo parque de papel
Publicidad

Similar a Guia algebra (20)

PDF
Calculo de predicados
PPT
1 combinatoria
PDF
Logaritmos
PDF
Rep 1 mat gral
PDF
4020-S3-M2- PROBLEMAS FRACCIONES
PDF
Prueba de reconocimiento de comp y capa 2° mate
PDF
JORNALIZACIÓN PLAN ANUAL DE OCTAVO GRADO
PDF
7 btoq linear correlation and regression analysis 2019
PDF
Revista proporcionalidad
PDF
S04_s7_Función_exponencial_y_logaritmo.pdf
PDF
Hoja trabajo 1.1 3eso
DOCX
Septimo grado
PDF
Clase 12 Buscando regularidades
PDF
Guia n°1 matematicas 11° primer periodo
PDF
DOCX
1 guia de intervalos, desigualdades e inecuaciones.
PDF
Semana 2-Sesion 1.pdf
PDF
Taller nivel basico 3
PPT
Calculo diferencial e integral
PDF
Libro de introduccion a la matematica universitaria
Calculo de predicados
1 combinatoria
Logaritmos
Rep 1 mat gral
4020-S3-M2- PROBLEMAS FRACCIONES
Prueba de reconocimiento de comp y capa 2° mate
JORNALIZACIÓN PLAN ANUAL DE OCTAVO GRADO
7 btoq linear correlation and regression analysis 2019
Revista proporcionalidad
S04_s7_Función_exponencial_y_logaritmo.pdf
Hoja trabajo 1.1 3eso
Septimo grado
Clase 12 Buscando regularidades
Guia n°1 matematicas 11° primer periodo
1 guia de intervalos, desigualdades e inecuaciones.
Semana 2-Sesion 1.pdf
Taller nivel basico 3
Calculo diferencial e integral
Libro de introduccion a la matematica universitaria

Último (20)

PDF
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
PDF
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
PPTX
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
PPTX
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
PDF
Introducción a la historia de la filosofía
PDF
RM2025 - FUNDAMENTOS TEÓRICOS - PEDIATRÍA.pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
PPTX
4. Qué es un computador PARA GRADO CUARTO.pptx
PDF
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
PDF
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
PDF
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
PPTX
Clase 3 del silabo-gestion y control financiero
PDF
Jodorowsky, Alejandro - Manual de Psicomagia.pdf
DOCX
PLAN DE CASTELLANO 2021 actualizado a la normativa
DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
PDF
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
PDF
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
Introducción a la historia de la filosofía
RM2025 - FUNDAMENTOS TEÓRICOS - PEDIATRÍA.pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
4. Qué es un computador PARA GRADO CUARTO.pptx
Aqui No Hay Reglas Hastings-Meyer Ccesa007.pdf
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
Ernst Cassirer - Antropologia Filosofica.pdf
Clase 3 del silabo-gestion y control financiero
Jodorowsky, Alejandro - Manual de Psicomagia.pdf
PLAN DE CASTELLANO 2021 actualizado a la normativa
PLANES DE área ciencias naturales y aplicadas
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf

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