Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Gestión de Datos] Ejercicios de parcial
Autor Mensaje
LeaTex Sin conexión
Presidente del CEIT
.
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 4.852
Agradecimientos dados: 55
Agradecimientos: 195 en 50 posts
Registro en: Apr 2008
BlogSpot Facebook Google+ Last.fm LinkedIn Twitter
YouTube
Mensaje: #1
[Gestión de Datos] Ejercicios de parcial Parciales y 1 más Gestión de Datos
Me vienen bochando en gestión de datos, con unos ejercicios realmente locos, como el que puse en desarrollo-f53/desafios-de-programacion-t69-15.html#p6545

Quería ver si alguno me puede orientar, porque esto me parece que va más allá de saber SQL.
Para el primer ejercicio tal vez requieran conocer el modelo de tablas sobre el cual trabajamos (http://gestiondedatos.googlegroups.com/web/DER.pdf). Sino me conformo con que me resuelvan el 2do que es más "interesante".

1) Realice una consulta SQL que muestre las 2 materias con su correspondiente carrera cuya cantidad de desaprobados de final estén en las 2 cantidades distintas mayores de desaprobados cada una, una que tenga la máxima cantidad de desaprobados y la otra que tenga la 2da cantidad de desaprobados máxima siguiente. Además mostrar para estas materias la cantidad de alumnos que alguna vez la cursaron y la variación de aprobados por final entre el año 2007 contra el año 2008.

Ejemplo: Si tenemos los siguientes datos:
- Gestión de Datos, código 'G' tiene 1000 desaprobados totales en su historia.
- Análisis Matemático II, código 'AII', tiene 1000 desaprobados totales en su historia, con 50 aprobados en el 2007 y 60 aprobados en el 2008.
- Sistemas Operativos, código 'SO' tiene 99 desaprobados totales en su historia, con 10 aprobados en el 2007 contra 8 aprobados en el 2008.
- Paradigmas de Programación, código 'PP' tiene 98 desaprobados totales en su historia.

Se debería mostrar solamente:
CARRERA | MATERIA | ALUMNOS_CURSARON | VARIACION_APROBADOS
Sistemas | AII | ############ | 10
Sistemas | SO | ############ | -2

Aclaración: era un ejercicio de SQL, sin funciones raras ni procedimientos ni nada de eso.

2) Hacer una consulta SQL que dada una tabla con legajo y nombre de los alumnos, retorne solamente los legajos, mostrados en 2 columnas.
Ej:
LEGAJO | NOMBRE
1153500 | Malsam
1125845 | Armoa
1165988 | Coca
1154457 | Garmendia
1133657 | Prieto

Devuelve:
LEGAJO1 | LEGAJO2
1153500 | 1125845
1165988 | 1154457
1133657 | NULL

Nota: el operador % devuelve el resto de la división entre 2 números.

Salu2

Lea

18-07-2008 01:08
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
LeaTex Sin conexión
Presidente del CEIT
.
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 4.852
Agradecimientos dados: 55
Agradecimientos: 195 en 50 posts
Registro en: Apr 2008
BlogSpot Facebook Google+ Last.fm LinkedIn Twitter
YouTube
Mensaje: #2
Re: [Gestión de Datos] Ejercicios de parcial
che, nadie se copa con ésto?
vamos gente que tengo que rendir el martes y no sé cómo hacerlos.

20-07-2008 21:41
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
leandrodg Sin conexión
Il Capo Cannoniere
Lost Admin
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.434
Agradecimientos dados: 12
Agradecimientos: 39 en 14 posts
Registro en: Mar 2008
Facebook Twitter YouTube
Mensaje: #3
Re: [Gestión de Datos] Ejercicios de parcial
Mañana a la noche lo miro bien, hoy imposible, pero mañana a la noche sí =)

LeandroDG

Mi blog: http://www.logue.com.ar/blog
Ingeniero en Sistemas
20-07-2008 23:23
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
brunodiaz Sin conexión
The Dark Knight
Bla
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7.762
Agradecimientos dados: 136
Agradecimientos: 381 en 132 posts
Registro en: May 2008
Mensaje: #4
Re: [Gestión de Datos] Ejercicios de parcial
LeaTex escribió:1) Realice una consulta SQL que muestre las 2 materias con su correspondiente carrera cuya cantidad de desaprobados de final estén en las 2 cantidades distintas mayores de desaprobados cada una, una que tenga la máxima cantidad de desaprobados y la otra que tenga la 2da cantidad de desaprobados máxima siguiente. Además mostrar para estas materias la cantidad de alumnos que alguna vez la cursaron y la variación de aprobados por final entre el año 2007 contra el año 2008.

Ejemplo: Si tenemos los siguientes datos:
- Gestión de Datos, código 'G' tiene 1000 desaprobados totales en su historia.
- Análisis Matemático II, código 'AII', tiene 1000 desaprobados totales en su historia, con 50 aprobados en el 2007 y 60 aprobados en el 2008.
- Sistemas Operativos, código 'SO' tiene 99 desaprobados totales en su historia, con 10 aprobados en el 2007 contra 8 aprobados en el 2008.
- Paradigmas de Programación, código 'PP' tiene 98 desaprobados totales en su historia.

Se debería mostrar solamente:
CARRERA | MATERIA | ALUMNOS_CURSARON | VARIACION_APROBADOS
Sistemas | AII | ############ | 10
Sistemas | SO | ############ | -2

Aclaración: era un ejercicio de SQL, sin funciones raras ni procedimientos ni nada de eso.

Te digo masomenos sin hacer la consulta xk realemente es de esas molestas como lo resolveria yo, xk me dieron este para practicar y me dijeron q mi idea era valida.
Digamos lo dificil de esta consulta es lo de que no tenes que sacar los dos primeros, sino los dos primeros que no repitan cantitad de desaprobados, lo demas es bastante simple creo yo.
El tema es asi
primero haces la consulta normal para sacar el primero de la lista y dsp un union con exactamente la misma sentencia agregandole un where la cantidad de desaprobados no sea y le pones un subselect con, otra vez, la misma sentencia que arriba.

Ya se que es un asco de solucion y que es 0 escalable pero fue lo mejro que se me ocurrio y es no tan dificil de entender como otras soluciones posibles

disculpa que no vea el otro ejercicio ni te haga el select pero no estoy en un momento en el que me quiera mezclar con SQL exactamente =P
por ahi dsp veo de hacerlo
Suerte!!
21-07-2008 00:41
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
LeaTex Sin conexión
Presidente del CEIT
.
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 4.852
Agradecimientos dados: 55
Agradecimientos: 195 en 50 posts
Registro en: Apr 2008
BlogSpot Facebook Google+ Last.fm LinkedIn Twitter
YouTube
Mensaje: #5
Re: [Gestión de Datos] Ejercicios de parcial
Ah, está buena la idea para resolver el primero. Claro, lo jodido está en obtener los 2 primeros diferentes. Sino basta con un TOP 2 y chau.
Creo que eso puede andar, no? Sí, debe andar. Gracias Bat... eh, digo, brunodiaz.
Igual si te copás con el 2do joya.

Y Lea, dale tranqui con Economía, aprobá, y después tirame una soga.

21-07-2008 02:08
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
pablo Sin conexión
ModdIng
Hombre de ingenio (?)
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.646
Agradecimientos dados: 0
Agradecimientos: 7 en 7 posts
Registro en: Apr 2008
Mensaje: #6
Re: [Gestión de Datos] Ejercicios de parcial
Te mando el segundo (lo probé sobre una tabla del laburo, no con alumnos y legajos pero es lo mismo, la idea es mostrar los legajos de a pares... eso sí, no usé "%")...


SELECT

A1.Legajo AS Legajo1,

(SELECT TOP 1 A2.Legajo2 AS L
FROM Alumnos AS A2
WHERE A1.Legajo > A2.Legajo ORDER BY L Asc)
AS Legajo2

FROM Alumnos AS A1



Si no lo entendés preguntame,

Saludos!
21-07-2008 15:13
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
leandrodg Sin conexión
Il Capo Cannoniere
Lost Admin
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.434
Agradecimientos dados: 12
Agradecimientos: 39 en 14 posts
Registro en: Mar 2008
Facebook Twitter YouTube
Mensaje: #7
Re: [Gestión de Datos] Ejercicios de parcial
Me desligo de colaborar entonces jajaj los demás lo han hecho bien =D

LeandroDG

Mi blog: http://www.logue.com.ar/blog
Ingeniero en Sistemas
22-07-2008 11:09
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
LeaTex Sin conexión
Presidente del CEIT
.
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 4.852
Agradecimientos dados: 55
Agradecimientos: 195 en 50 posts
Registro en: Apr 2008
BlogSpot Facebook Google+ Last.fm LinkedIn Twitter
YouTube
Mensaje: #8
Re: [Gestión de Datos] Ejercicios de parcial
pablo escribió:Te mando el segundo (lo probé sobre una tabla del laburo, no con alumnos y legajos pero es lo mismo, la idea es mostrar los legajos de a pares... eso sí, no usé "%")...


SELECT
A1.Legajo AS Legajo1,
(SELECT TOP 1 A2.Legajo2 AS L
FROM Alumnos AS A2
WHERE A1.Legajo > A2.Legajo ORDER BY L Asc)
AS Legajo2
FROM Alumnos AS A1



Si no lo entendés preguntame,

Saludos!

NO FUNCIONAAAAAAA!!!!!! wall

22-07-2008 16:49
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
pablo Sin conexión
ModdIng
Hombre de ingenio (?)
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.646
Agradecimientos dados: 0
Agradecimientos: 7 en 7 posts
Registro en: Apr 2008
Mensaje: #9
Re: [Gestión de Datos] Ejercicios de parcial
No copies directamente! Fijate que la sintaxis sea la correcta para la estructura que tenés y el motor que usás, entre otras cosas.

Tabla: Alumnos
Campo: Legajo

Yo lo probé en SQL Server 2005 y hacía lo que pediste!

Fijate de nuevo, además, si lo mirás un poco la lógica tiene sentido...
23-07-2008 02:06
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
LeaTex Sin conexión
Presidente del CEIT
.
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 4.852
Agradecimientos dados: 55
Agradecimientos: 195 en 50 posts
Registro en: Apr 2008
BlogSpot Facebook Google+ Last.fm LinkedIn Twitter
YouTube
Mensaje: #10
Re: [Gestión de Datos] Ejercicios de parcial
pablo escribió:No copies directamente! Fijate que la sintaxis sea la correcta para la estructura que tenés y el motor que usás, entre otras cosas.

Tabla: Alumnos
Campo: Legajo

Yo lo probé en SQL Server 2005 y hacía lo que pediste!

Fijate de nuevo, además, si lo mirás un poco la lógica tiene sentido...

No che, ya lo revisé.
Empezando porque no existe el campo A2.Legajo2 (imagino que quisiste poner A2.Legajo).
Después, el resultado no es el deseado.
Cambiando al > por < se aproxima, pero tampoco sirve.

Si mis legajos son
A
B
C
D
E

Está saliendo
A - B
B - C
C - D
D - E

Y yo necesito:
A - B
C - D
E -

Si quieren seguir para sacarse la duda joya, sino no se preocupen, ya rendí ayer. Ahora tengo que esperar los resultados.

Por cierto, en el final aprobaron solamente 8, de los cuales 5 eran unos grosos de mi curso (un grupete de pibes que vienen cursando todo junto desde 1er año, pero solamente se dedican a la facu), de los cuales 2 estaban en mi grupo de TP. Jaja. Bochazo mal con Reinosa.

24-07-2008 02:36
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
pablo Sin conexión
ModdIng
Hombre de ingenio (?)
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.646
Agradecimientos dados: 0
Agradecimientos: 7 en 7 posts
Registro en: Apr 2008
Mensaje: #11
Re: [Gestión de Datos] Ejercicios de parcial
Uhh tenés razón... no me di cuenta que los ponía distinto... ahora sí tiene sentido usar el % para decirle que sólo muestre las posiciones impares (habría que condicionarlo en el "Where", de forma que la posición % 2 = 1, pero no sé cómo se puede tomar la posición del dato en el resultado, capaz hay que hacerlo distinto Confused).

Rindieron muchos ayer? Tendía entendido que el final de gestión no era tan jodido...
24-07-2008 06:39
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
pablo Sin conexión
ModdIng
Hombre de ingenio (?)
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.646
Agradecimientos dados: 0
Agradecimientos: 7 en 7 posts
Registro en: Apr 2008
Mensaje: #12
Re: [Gestión de Datos] Ejercicios de parcial
Por lo que estuve viendo, para determinar la posición de la columna impresa, existe en Oracle (no sé en SQL Server, al menos no se llama así) un campo denominado ROWID (o ROWNUM, que es diferente, tampoco sé muy bien cómo =P, pero con ROWID anda), que te dice el orden de la fila resultante. Acá nos interesarían las filas impares de todo lo que mostraste, por lo cual sería:


SELECT
A1.Legajo AS Legajo1,
(SELECT TOP 1 A2.Legajo2 AS L
FROM Alumnos AS A2
WHERE A1.Legajo > A2.Legajo ORDER BY L Asc)
AS Legajo2
FROM Alumnos AS A1
AND ROWID % 2 = 1




Y usamos el super operador que pedían.

No sé, no me gusta usar ese campo y no se si lo vieron en la cursada, pero otra no se me ocurre Confused.
24-07-2008 11:01
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
leandrodg Sin conexión
Il Capo Cannoniere
Lost Admin
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.434
Agradecimientos dados: 12
Agradecimientos: 39 en 14 posts
Registro en: Mar 2008
Facebook Twitter YouTube
Mensaje: #13
Re: [Gestión de Datos] Ejercicios de parcial
jaajajjaajaj lo siento Pablo, una de las GRANDES deficiencias de SQL Server 2000 (el más usado) es la falta de RowId... =P Lo odio por eso, te juro...!

Te complica muchísimo a la hora de generar paginado de datos, en SQL Server 2005 lo agregaron pero no me acuerdo cómo funciona ni si funciona bien =P

LeandroDG

Mi blog: http://www.logue.com.ar/blog
Ingeniero en Sistemas
24-07-2008 11:41
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
pablo Sin conexión
ModdIng
Hombre de ingenio (?)
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.646
Agradecimientos dados: 0
Agradecimientos: 7 en 7 posts
Registro en: Apr 2008
Mensaje: #14
Re: [Gestión de Datos] Ejercicios de parcial
Estoy en SQL Server 2005, así que así no se llama =(.

Bue, igual en un final no creo que se me hubiera cruzado usar por la cabeza un campo que nunca me enseñaron (?) XD.

Alguna recomendación de donde estudiar para Gestión de Datos? (siempre mangueando xD...)

Gracias!
24-07-2008 12:10
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Dem0 Sin conexión
( ͡° ͜ʖ ͡°)
._.
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 4.984
Agradecimientos dados: 9
Agradecimientos: 148 en 64 posts
Registro en: Apr 2008
Mensaje: #15
Re: [Gestión de Datos] Ejercicios de parcial
pablo escribió:Alguna recomendación de donde estudiar para Gestión de Datos? (siempre mangueando xD...)

¿Del "User SQL 2005" de $40 que venden en medrano?

(?)
24-07-2008 12:20
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.