02-03-2016, 00:45
Buenas! Les dejo por aca lo que me acuerdo del final de hoy. Como siempre, 2 VOF sin justificar, 2 teóricos a desarrollar y 2 prácticos. Los VOF restaban y lo otro sumaba 2 puntos C/U. Habia q sumar 6 puntos y como mínimo tener un practico bien.
1a) Preguntaba algo asi como si la complejidad del algoritmo heapsort dependía solo de la cantidad de elementos.
1b) No recuerdo...
2a) Conceptos de Datawarehouse y Dataminning y sus objetivos
2b) Explicar y desarrollar los niveles de aislamiento en una DB relacional
3a) Te daban una tabla PERSONA, con los siguientes campos:
--persona--
IdPersona................... Int (PK)
Nombre............ varchar(50)
FechaNacimiento Datetime
IdPadre ...............int (FK)
y te preguntaba que devolvía la siguiente consulta, o si tenia un error que dijeras específicamente donde y por qué
SELECT A.Nombre, N.Nombre
FROM Persona A
JOIN Persona H ON (H.IdPadre = A.IdPersona)
JOIN Persona N ON (N.IdPadre = H.IdPersona)
AND NOT EXISTS (SELECT 1
FROM Persona N2
JOIN Persona H2 ON N2.IdPadre = H2.IdPersona
WHERE N.FechaNacimiento < N2.FechaNacimiento)
3b) Te pedían que desarrolles algo para implementar la siguiente relga de negocio sin modificar la tabla. "No puede haber 2 hermanos con el mismo nombre".
SOLUCIÓN:
Les comento un poco lo que hice yo y algunos de mis compañeros desp recaudando info....
1a) Puse Falso, pero en realidad interprete mal y no era lo que quería poner, así q si le pegue fue medio de suerte
1b) No la respondí.
2a) y 2b) salen de cualquier apunte o resumen. Eran accesibles
3a) La consulta compila bien, anda joya. Y devuelve los Abuelos con los nietos menores
Abuelo1 - NietoMenor1
Abuelo2 - NietoMenor2
COMENTARIO: SE LA PASAN TODA LA CURSADA DICIENDO QUE "NO SE PUEDE USAR SUBSELECTS EN EL FROM, Y VIENEN Y TE TOMAN SUBSELECT EN EL FROM. UNOS CRACKS LOS HDPS
3b) Yo hice un Trigger After Insert Update, con un cursor adentro, que consultaba cada row de la tabla Inserted, y por cada row preguntaba si existia una persona con el mismo padre y que tuviera el mismo nombre que la que se quería insertar/updatear, entonces si me daba verdadero, hacia un Rollback, y sino, seguia iterando hasta terminar de recorrer todo.
1a) Preguntaba algo asi como si la complejidad del algoritmo heapsort dependía solo de la cantidad de elementos.
1b) No recuerdo...
2a) Conceptos de Datawarehouse y Dataminning y sus objetivos
2b) Explicar y desarrollar los niveles de aislamiento en una DB relacional
3a) Te daban una tabla PERSONA, con los siguientes campos:
--persona--
IdPersona................... Int (PK)
Nombre............ varchar(50)
FechaNacimiento Datetime
IdPadre ...............int (FK)
y te preguntaba que devolvía la siguiente consulta, o si tenia un error que dijeras específicamente donde y por qué
SELECT A.Nombre, N.Nombre
FROM Persona A
JOIN Persona H ON (H.IdPadre = A.IdPersona)
JOIN Persona N ON (N.IdPadre = H.IdPersona)
AND NOT EXISTS (SELECT 1
FROM Persona N2
JOIN Persona H2 ON N2.IdPadre = H2.IdPersona
WHERE N.FechaNacimiento < N2.FechaNacimiento)
3b) Te pedían que desarrolles algo para implementar la siguiente relga de negocio sin modificar la tabla. "No puede haber 2 hermanos con el mismo nombre".
SOLUCIÓN:
Les comento un poco lo que hice yo y algunos de mis compañeros desp recaudando info....
1a) Puse Falso, pero en realidad interprete mal y no era lo que quería poner, así q si le pegue fue medio de suerte
1b) No la respondí.
2a) y 2b) salen de cualquier apunte o resumen. Eran accesibles
3a) La consulta compila bien, anda joya. Y devuelve los Abuelos con los nietos menores
Abuelo1 - NietoMenor1
Abuelo2 - NietoMenor2
COMENTARIO: SE LA PASAN TODA LA CURSADA DICIENDO QUE "NO SE PUEDE USAR SUBSELECTS EN EL FROM, Y VIENEN Y TE TOMAN SUBSELECT EN EL FROM. UNOS CRACKS LOS HDPS
3b) Yo hice un Trigger After Insert Update, con un cursor adentro, que consultaba cada row de la tabla Inserted, y por cada row preguntaba si existia una persona con el mismo padre y que tuviera el mismo nombre que la que se quería insertar/updatear, entonces si me daba verdadero, hacia un Rollback, y sino, seguia iterando hasta terminar de recorrer todo.