Consulta Primer Parcial 2019

Consulta Primer Parcial 2019

de Franco Laborda Silva -
Número de respuestas: 2

 

Buenas tardes, me surgió una pregunta respecto al ejercicio 2.a del primer parcial de 2019 al momento de usar la división en algebra relacional, ya que la solución al dividir en B se estaría quedando con la columna "co" y no cod_obra, por lo que no podría hacer el join natural luego en res entre B y Obra_editorial (que supongo es lo que está escrito cómo A) y además en caso de quedarse con la columna "co" no estaría obteniendo los códigos de las obras con mayor cantidad de páginas que están dados por cod_obra en A.

Esto es así o no estoy comprendiendo la solución del todo?, gracias.

En respuesta a Franco Laborda Silva

Re: Consulta Primer Parcial 2019

de Camila Sanz -
Hola Franco,

suponiendo que tuvieras dos relaciones R(A,B) y S(B) el esquema de la división entre R y S (R%S) solo tiene al atributo A porque lo que hace este operador es retornar los valores de A que están relacionados con todos los valores de B que hay en S.

En la solución A tiene esquema A(cod_obra, co) y se hace la división con el atributo cod_obra de Obras (con todas las obras)
Como co y cod_obra son esquemas compatibles no hay problema al aplicar el operador. Lo que devuelve la división son los valores de cod_obra en A que están relacionados con todas las obras. Como en A se hizo un join retornando los pares de obras (cod_obra, co) donde la primera obra tiene mayor cantidad de páginas que la segunda, entonces al hacer la división me voy a quedar con las obras que tienen mayor cantidad de páginas que todas las obras. 

Luego, el join natural no da problemas porque el esquema de B que es solo el atributo cod_obra y el resto de las relaciones.

Tenés razón que en Res donde dice A debería decir B.

Cualquier otra duda, o si no quedó claro, volvé a consultar!

Saludos,
Camila.