Autor |
Mensaje |
pinus
Nivel 4
Edad: 36
Registrado: 20 Ene 2009
Mensajes: 100
Carrera: Informática, Sistemas y
|
|
Alguien que se presento, se copa y cuenta que tomaron, si tienen el enunciado mejor.
Gracias,
Alfredo
|
|
|
|
|
|
|
|
|
fuxxy
Nivel 3
Edad: 35
Registrado: 07 Ago 2008
Mensajes: 26
Carrera: Informática
|
|
Te cuento mas o menos lo que tomó.. es lo que me acuerdo porque no lo copié:
1. Descomponer en FNBC
2. Histograma muy parecido al de este final http://wiki.forosfiuba.com.ar/materias:75:15:final_1_20090819_1
3. Una consulta SQL que dado Estudiante (nombre,.., año, edad) obtener para cada edad el año con mayor frecuencia. Tenias que dar el par <edad> sin tuplas repetidas. Había otras tablas más pero CREO que tenías que usar solo la de estudiante..
4. Log undo/redo. (Habia 3 transacciones. T2 grababa X que habia sido modificado previamente por T1, antes de que T1 hiciera commit). Lo mismo T3 con T2 sobre otro item de dato. Había un checkpoint en el medio del log. Más que eso no me acuerdo)
(a) Decir qué transacciones eran imposibles dado que se utilizaba protocolo de 2 fases. Sacar las transacciones que hacían que el log sea imposible. Justificar
(b) El estado de los items de datos antes de la recuperación utilizando el Log que quedo en (a). Justificar
|
|
|
|
|
|
|
|
|
fuxxy
Nivel 3
Edad: 35
Registrado: 07 Ago 2008
Mensajes: 26
Carrera: Informática
|
|
2. Tenías que dar el par <edad>
|
|
|
|
|
|
|
|
|
fuxxy
Nivel 3
Edad: 35
Registrado: 07 Ago 2008
Mensajes: 26
Carrera: Informática
|
|
jaja bueno el par edad, año mas frecuente
|
|
|
|
|
|
|
|
|
pinus
Nivel 4
Edad: 36
Registrado: 20 Ene 2009
Mensajes: 100
Carrera: Informática, Sistemas y
|
|
Gracias,
el 3) de sql:
select anio, edad from estudiantes
group by anio, edad
having count(*) >= all(
select count(*) from estudiantes
group by anio, edad
);
|
|
|
|
|
|
|
|
|
pinus
Nivel 4
Edad: 36
Registrado: 20 Ene 2009
Mensajes: 100
Carrera: Informática, Sistemas y
|
|
En el 4) lo que te mostraban era la ejecución cierto ? Con locks y unlocks ??
a)Tenias que verificar que se cumpla el protocolo de 2 Fases (locks en una primera etapa y unlocks en una posterior).
b)Armar el log a partir de la ejecución (solo consideras las operaciones de grabar) o ya te daban el log junto con la ejecución?
|
|
|
|
|
|
|
|
|
fuxxy
Nivel 3
Edad: 35
Registrado: 07 Ago 2008
Mensajes: 26
Carrera: Informática
|
|
No no en el 4 te mostraba los registros del log.. Algo como <T1><T1><T2><T2><T1>.. sigue T2 grabando items, se hace un checkpoint. Después arranca T3 y graba sobre algo no commiteado de T2, T2 comieta y T3 no.. En base al log tenés que ver que se cumpla el protocolo de dos fases.. y mirando el log la verdad que no tenía idea cómo se daban los locks y unlocks. Supuse que T2 no podía usar un valor no commiteado de T1 y me basé en eso. Pero mandé fruta.
|
|
|
|
|
|
|
|
|
pinus
Nivel 4
Edad: 36
Registrado: 20 Ene 2009
Mensajes: 100
Carrera: Informática, Sistemas y
|
|
fuxxy escribió:
|
No no en el 4 te mostraba los registros del log.. Algo como <T1><T1><T2><T2><T1>.. sigue T2 grabando items, se hace un checkpoint. Después arranca T3 y graba sobre algo no commiteado de T2, T2 comieta y T3 no.. En base al log tenés que ver que se cumpla el protocolo de dos fases.. y mirando el log la verdad que no tenía idea cómo se daban los locks y unlocks. Supuse que T2 no podía usar un valor no commiteado de T1 y me basé en eso. Pero mandé fruta.
|
Esto es una idea nada mas:
Como la ejecucion cumple con el protocolo de 2 fases entonces es serializable.
Podrias tratar de imaginarte como es la ejecucion en base al log y buscar los pares de acciones conflictivas y armar el grafo de precedencia y si encontras un ciclo entonces deberias eliminarlo ...eso podria llegar a decirnos que log writes borrar. Pensa que aunque en el log no se registran las lecturas para que aparezca un registro en el log necesita el valor anterior (es undo/redo el del enunciado cierto) entonces podriamos suponer que ahi hace una lectura.
Lo que tenes que intentar de buscar son todos los pares (Li(A) , Gj(A)) uno tx lee sobre un atributo y otra tx intenta grabar sobre el mismo atributo.
Es lo unico que se me ocurre con lo que veo del enunciado ... imaginar como es la ejecucion y tratar de imponer la seriabilidad
|
|
|
|
|
|
|
|
|
Sebacuervo
Nivel 4
Edad: 39
Registrado: 23 Oct 2006
Mensajes: 107
Carrera: Informática
|
|
Hola!
En el de SQL hice como puso pinus y estuvo mal (pedía el año más frecuente, en cantidad de alumnos, para cada edad y no la moda de todo).
En el de normalización el ejercicio era, dada una relación R(ABCDE) y una conjunto de DF F=(A->B, B->C, C->AD, D->E, E->A) normalizar a FNNC el esquema resultante de proyectar R sobre ACE.
Había que proyectar las dependencias de F sobre ACE. El resultado eran varias DFs tales que los lados izquierdos eran todos claves, por lo que el esquema ya estaba en FNCB.
En el de logs, es como dijo pinus... tenías que ver las TXs que conflictúan por leer y grabar sobre una misma variable
Saludos.
|
|
|
|
_________________ Seba.
|
|
|
|
|
MarianAAAJ
Nivel 7
Edad: 35
Registrado: 14 Ene 2009
Mensajes: 437
Carrera: Informática
|
|
En cuanto al ejer4) Como sabes cuando se pide un SL o XL? Como sabes si el registro <T1> lee o escribe?
|
|
|
|
|
|
|
|
|
|