Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 1 votos - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Aporte] Final GDD 13/10/2020
Autor Mensaje
Phiiliip077 En línea
Profesor del Modulo A
1 a la vez
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 334
Agradecimientos dados: 25
Agradecimientos: 181 en 129 posts
Registro en: Oct 2016
Facebook Twitter
Mensaje: #1
[Aporte] Final GDD 13/10/2020 Finales Gestión de Datos
Buenas, dejo la parte escrita del final tomado el 13/10/2020.

Se compone de 2 VoF, 1 práctico Multiple Choice y 1 ejercicio práctico a desarrollar.

1) La implementación de un hash permite obtener a partir de una entrada "x" una salida "y" única y reversible (FALSO)
2) Si un árbol binario es completo, entonces la cantidad de nodos que posee es impar (VERDADERO)

3) [Imagen: unknown.png]

4) [Imagen: unknown.png]

En este yo hice dos triggers distintos (uno para INSERT y otro para DELETE), pero me hizo las siguientes anotaciones:
  • Hay que usar un GETDATE() para obtener la fecha para la tabla de auditorías
  • Se puede hacer 1 solo trigger que pregunte si tiene datos la tabla INSERTED o DELETED

Saludos
Otros adjuntos en este tema
.jpeg  imagen.jpeg ( 61,52 KB / 700) por loqmolesta2
13-10-2020 20:11
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Phiiliip077 recibio 4 Gracias por este post
loqmolesta2 (14-10-2020), FrancoSL (15-10-2020), daia0325 (26-11-2020), MrOneTwo (20-12-2020)
heinn Sin conexión
Militante
ing en sistemas
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 68
Agradecimientos dados: 170
Agradecimientos: 13 en 6 posts
Registro en: Mar 2017
Mensaje: #2
RE: [Aporte] Final GDD 13/10/2020
hola, hubo alguna parte Oral ? o solamente escrito? gracias
13-10-2020 21:53
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Phiiliip077 En línea
Profesor del Modulo A
1 a la vez
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 334
Agradecimientos dados: 25
Agradecimientos: 181 en 129 posts
Registro en: Oct 2016
Facebook Twitter
Mensaje: #3
RE: [Aporte] Final GDD 13/10/2020
(13-10-2020 21:53)heinn escribió:  hola, hubo alguna parte Oral ? o solamente escrito? gracias

Buenas, los que aprobaron esta parte escrita mañana rinden la parte oral. Aparentemente son menos de 15 minutos por estudiante.

Saludos
13-10-2020 23:26
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
loqmolesta2 Sin conexión
Militante
Sin estado :(
***

-----
-----

Mensajes: 75
Agradecimientos dados: 33
Agradecimientos: 83 en 33 posts
Registro en: Jul 2019
Mensaje: #4
RE: [Aporte] Final GDD 13/10/2020
Final 13/10/2020
--------------------------

El objetivo de un Datawarehouse es aglutinar información de diferentes orígenes de datos para obtener información en la toma de decisiones
RTA: VERDADERO

--------------------------

Cuando un grafo no es unívoco, debe ser categorizado como un Grafo Irrestricto
RTA: VERDADERO

--------------------------
Dada la tablas clientes con el campo clie_codigo definido como primary key
select count(*) C1 ,count(clie_codigo)C2 ,count(distinct clie_codigo)C3 from cliente
Indique cual sería el resultado

Seleccione una:
a. C1=C2=C3
b. Ninguna de las anteriores
c. C1=C2 y C3<>C2
d. C1>=C2 y C2>=C3
e. C1>C2 y C2>=C3
f. C1>C2 y C2>C3

RTA: A) C1 = C2 = C3


--------------------------

   

Realizar una consulta que devuelva para todos los entrenadores

Apellido y Nombre, Apellido y nombre de quien lo entrena, Cantidad de especialidades del entrenador, cantidad de especialidades de quien lo entrena, cantidad total de horas semanales del entrenador y cantidad total de quien lo entrena. Ninguna de las 5 columnas solicitadas deberán mostrarse en NULL. En caso de no tener un entrenador asociado mostrar “No posee entrenador”


RTA POCO OPTIMA

SELECT
(e1.entr_apellido + ' ' + e1.entr_nombre) as "Apellido y Nombre",

ISNULL((SELECT (entr_apellido + ' ' + entr_nombre) FROM Entrenador WHERE entr_id = e1.entrenado_por_id), 'No posee entrenador') AS "Apellido y Nombre de su entrenador",
(SELECT COUNT(*) FROM Entrenador_Especialidad WHERE enes_entrenador_id = e1.entr_id) AS "Cantidad especialidades",
(SELECT COUNT(*) FROM Entrenador_Especialidad WHERE enes_entrenador_id = e1.entrenado_por_id) AS "Cantidad especialidades de su entrenador",
ISNULL((SELECT SUM(enes_hs_semanales) FROM Entrenador_Especialidad WHERE enes_entrenador_id = e1.entr_id), 0) AS "Cantidad Total de horas semanales",
ISNULL((SELECT SUM(enes_hs_semanales) FROM Entrenador_Especialidad WHERE enes_entrenador_id = e1.entrenado_por_id), 0) AS "Cantidad Total de horas semanales del entrenador"
FROM
Entrenador AS e1


RTA MAS OPTIMA

SELECT
(e1.entr_apellido + ' ' + e1.entr_nombre) as "Apellido y Nombre",
COUNT(ee1.enes_entrenador_id) AS "Cantidad especialidades",
ISNULL(SUM(ee1.enes_hs_semanales), 0) AS "Cantidad Total de horas semanales",
-- Datos entrenador padre
ISNULL((e2.entr_apellido + ' ' + e2.entr_nombre), 'No posee entrenador') as "Apellido y Nombre del entrenador",
ISNULL(COUNT(ee2.enes_entrenador_id), 0) AS "Cantidad especialidades del entrenador",
ISNULL(SUM(ee2.enes_hs_semanales), 0) AS "Cantidad Total de horas semanales del entrenador"
FROM
Entrenador AS e1
LEFT JOIN Entrenador_Especialidad as ee1 ON e1.entr_id = ee1.enes_entrenador_id
LEFT JOIN Entrenador_Especialidad as ee2 ON e1.entrenado_por_id = ee2.enes_entrenador_id
LEFT JOIN Entrenador as e2 ON e1.entrenado_por_id = e2.entr_id
GROUP BY e1.entr_id, e1.entr_nombre, e1.entr_apellido, e1.entrenado_por_id, e2.entr_id, e2.entr_nombre, e2.entr_apellido




------

En el oral me tomaron:

- Modelo ANSI/SPARC (No la pude responder porque no me acordaba que se llamaba ANSI/SPARC, la tenia como modelo de arquitectura del motor de base de datos)
- Describir los diferentes tipos de aislamientos
- Concepto, funcionalidad y que aportan las vistas
15-10-2020 08:31
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] loqmolesta2 recibio 3 Gracias por este post
FrancoSL (15-10-2020), daia0325 (26-11-2020), MrOneTwo (20-12-2020)
gonzalo.l Sin conexión
Campeon del cubo Rubik
-
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 116
Agradecimientos dados: 30
Agradecimientos: 13 en 13 posts
Registro en: Dec 2012
Mensaje: #5
RE: [Aporte] Final GDD 13/10/2020
Buenas loqmolesta2, hasta donde tenia entendido, en los parciales te dejaban utilizar a lo sumo una subquery. En el ejercicio que mostrars una de las respuestas tiene 4. Te lo toman como valido igual?
(Este mensaje fue modificado por última vez en: 21-12-2020 16:43 por gonzalo.l.)
21-12-2020 12:12
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
loqmolesta2 Sin conexión
Militante
Sin estado :(
***

-----
-----

Mensajes: 75
Agradecimientos dados: 33
Agradecimientos: 83 en 33 posts
Registro en: Jul 2019
Mensaje: #6
RE: [Aporte] Final GDD 13/10/2020
(21-12-2020 12:12)gonzalo.l escribió:  Buenas loqmolesta2, hasta donde tenia entendido, en los parciales te dejaban utilizar a lo sumo una subquery. En el ejercicio que mostrar, una de las respuestas tiene 4. Te lo toman como valido igual?

Hola,
Si, como el enunciado no decía nada, podías hacerlo como querías, me lo tomaron como 100% valido sin aclaración

Saludos
21-12-2020 12:39
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] loqmolesta2 recibio 1 Gracias por este post
gonzalo.l (21-12-2020)
gonzalo.l Sin conexión
Campeon del cubo Rubik
-
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 116
Agradecimientos dados: 30
Agradecimientos: 13 en 13 posts
Registro en: Dec 2012
Mensaje: #7
RE: [Aporte] Final GDD 13/10/2020
(21-12-2020 12:39)loqmolesta2 escribió:  
(21-12-2020 12:12)gonzalo.l escribió:  Buenas loqmolesta2, hasta donde tenia entendido, en los parciales te dejaban utilizar a lo sumo una subquery. En el ejercicio que mostrar, una de las respuestas tiene 4. Te lo toman como valido igual?

Hola,
Si, como el enunciado no decía nada, podías hacerlo como querías, me lo tomaron como 100% valido sin aclaración

Saludos

Otra cosa, la respuesta mas optima es erronea. La clausula group by tiene mal las columnas sobre las que tiene que agrupar. En este enlace esta la explicación: https://www.campusmvp.es/recursos/post/F...acion.aspx
Mas concretamente :
"Es muy importante tener en cuenta que cuando utilizamos la cláusula GROUP BY, los únicos campos que podemos incluir en el SELECT sin que estén dentro de una función de agregación, son los que vayan especificados en el GROUP BY."
En la query, eso no se cumple. La query que seria la "optima" (que hasta donde entendia yo era la unica respuesta que tomaba como valida a la catedra ya que las subquerys no son performantes, cosa que perece que cambio) es:

SELECT E1.entr_nombre + ' ' E1.entr_appellido, ISNULL(E2.entr_nombre + ' ' + E2.entr_appellido, 'No posee entrenador'), ISNULL(COUNT(EE1.enes_especialidad_id), 'No posee entrenador'), ISNULL(COUNT(EE2.enes_especialidad_id), 'No posee entrenador'), ISNULL(SUM(EE1.enes_hs_semanales), 'No posee entrenador'), ISNULL(SUM(EE2.enes_hs_semanales), 'No posee entrenador')
FROM
Entrenador E1
LEFT OUTER JOIN Entrador E2 ON E1.entr_id=E1.entr_id
LEFT OUTER JOIN Entrador_Especialidad EE1 on E1.entr_id=EE1.enes_entrenador_id
LEFT OUTER JOIN Entrador_Especialidad EE2 on E2.entr_id=EE2.enes_entrenador_id
GROUP BY E1.entr_nombre + ' ' E1.entr_appellido, ISNULL(E2.entr_nombre + ' ' + E2.entr_appellido, 'No posee entrenador')
21-12-2020 12:41
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] gonzalo.l recibio 1 Gracias por este post
loqmolesta2 (21-12-2020)
loqmolesta2 Sin conexión
Militante
Sin estado :(
***

-----
-----

Mensajes: 75
Agradecimientos dados: 33
Agradecimientos: 83 en 33 posts
Registro en: Jul 2019
Mensaje: #8
RE: [Aporte] Final GDD 13/10/2020
(21-12-2020 12:41)gonzalo.l escribió:  
(21-12-2020 12:39)loqmolesta2 escribió:  
(21-12-2020 12:12)gonzalo.l escribió:  Buenas loqmolesta2, hasta donde tenia entendido, en los parciales te dejaban utilizar a lo sumo una subquery. En el ejercicio que mostrar, una de las respuestas tiene 4. Te lo toman como valido igual?

Hola,
Si, como el enunciado no decía nada, podías hacerlo como querías, me lo tomaron como 100% valido sin aclaración

Saludos

Otra cosa, la respuesta mas optima es erronea. La clausula group by tiene mal las columnas sobre las que tiene que agrupar. En este enlace esta la explicación: https://www.campusmvp.es/recursos/post/F...acion.aspx
Mas concretamente :
"Es muy importante tener en cuenta que cuando utilizamos la cláusula GROUP BY, los únicos campos que podemos incluir en el SELECT sin que estén dentro de una función de agregación, son los que vayan especificados en el GROUP BY."
En la query, eso no se cumple. La query que seria la "optima" (que hasta donde entendia yo era la unica respuesta que tomaba como valida a la catedra ya que las subquerys no son performantes, cosa que perece que cambio) es:

SELECT E1.entr_nombre + ' ' E1.entr_appellido, ISNULL(E2.entr_nombre + ' ' + E2.entr_appellido, 'No posee entrenador'), ISNULL(COUNT(EE1.enes_especialidad_id), 'No posee entrenador'), ISNULL(COUNT(EE2.enes_especialidad_id), 'No posee entrenador'), ISNULL(SUM(EE1.enes_hs_semanales), 'No posee entrenador'), ISNULL(SUM(EE2.enes_hs_semanales), 'No posee entrenador')
FROM
Entrenador E1
LEFT OUTER JOIN Entrador E2 ON E1.entr_id=E1.entr_id
LEFT OUTER JOIN Entrador_Especialidad EE1 on E1.entr_id=EE1.enes_entrenador_id
LEFT OUTER JOIN Entrador_Especialidad EE2 on E2.entr_id=EE2.enes_entrenador_id
GROUP BY E1.entr_nombre + ' ' E1.entr_appellido, ISNULL(E2.entr_nombre + ' ' + E2.entr_appellido, 'No posee entrenador')

Me acuerdo haberla probado la Query en SQL Server creando las tablas del enunciado y completándola con datos random y para esos datos me funciono. Lo que decis sobre GROUP BY es correcto y por ahi con X datos en las tablas, la consulta corrompa

(21-12-2020 12:41)gonzalo.l escribió:  
(21-12-2020 12:39)loqmolesta2 escribió:  
(21-12-2020 12:12)gonzalo.l escribió:  Buenas loqmolesta2, hasta donde tenia entendido, en los parciales te dejaban utilizar a lo sumo una subquery. En el ejercicio que mostrar, una de las respuestas tiene 4. Te lo toman como valido igual?

Hola,
Si, como el enunciado no decía nada, podías hacerlo como querías, me lo tomaron como 100% valido sin aclaración

Saludos

Otra cosa, la respuesta mas optima es erronea. La clausula group by tiene mal las columnas sobre las que tiene que agrupar. En este enlace esta la explicación: https://www.campusmvp.es/recursos/post/F...acion.aspx
Mas concretamente :
"Es muy importante tener en cuenta que cuando utilizamos la cláusula GROUP BY, los únicos campos que podemos incluir en el SELECT sin que estén dentro de una función de agregación, son los que vayan especificados en el GROUP BY."
En la query, eso no se cumple. La query que seria la "optima" (que hasta donde entendia yo era la unica respuesta que tomaba como valida a la catedra ya que las subquerys no son performantes, cosa que perece que cambio) es:

SELECT E1.entr_nombre + ' ' E1.entr_appellido, ISNULL(E2.entr_nombre + ' ' + E2.entr_appellido, 'No posee entrenador'), ISNULL(COUNT(EE1.enes_especialidad_id), 'No posee entrenador'), ISNULL(COUNT(EE2.enes_especialidad_id), 'No posee entrenador'), ISNULL(SUM(EE1.enes_hs_semanales), 'No posee entrenador'), ISNULL(SUM(EE2.enes_hs_semanales), 'No posee entrenador')
FROM
Entrenador E1
LEFT OUTER JOIN Entrador E2 ON E1.entr_id=E1.entr_id
LEFT OUTER JOIN Entrador_Especialidad EE1 on E1.entr_id=EE1.enes_entrenador_id
LEFT OUTER JOIN Entrador_Especialidad EE2 on E2.entr_id=EE2.enes_entrenador_id
GROUP BY E1.entr_nombre + ' ' E1.entr_appellido, ISNULL(E2.entr_nombre + ' ' + E2.entr_appellido, 'No posee entrenador')

Lo estuve pensado, y creo que no varia el resultado, ya que el por el orden de ejecución de los elementos de las query esta primero el GROUP BY, el cual en mi solución te agrupa (y null es un valor) entonces agrupa por null, y luego cuando pasa a ejecutarse la parte del SELECT se le da un nombre a ese null, en este caso "No posee entrenador".

El SQL Server estos errores deberia alertarlos en pantalla, y no sucedió eso. Asi que intuyo que son equivalentes
(Este mensaje fue modificado por última vez en: 21-12-2020 13:01 por loqmolesta2.)
21-12-2020 12:53
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Martin. Sin conexión
Presidente del CEIT
Enjoy it !
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.380
Agradecimientos dados: 90
Agradecimientos: 292 en 138 posts
Registro en: Oct 2011
Mensaje: #9
RE: [Aporte] Final GDD 13/10/2020
Ambas soluciones son válidas.
La resolución de manual es aquella en donde en el group by pones los campos necesarios para dar solución, dado que todo lo demas son funciones que transforman dichos campos, como puede ser el isnull, el operador de concatenación (+), etc.
No obstante por lo general uno copia lo mismo que pone en el select, para ganar tiempo, en el group by dado que los resultados son lo mismo.

En resumen se puede hacer de las dos maneras y ambas están correctas.

[Imagen: jQJfyBGh9SOmZ.png]
21-12-2020 15:31
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Martin. recibio 2 Gracias por este post
loqmolesta2 (21-12-2020), gonzalo.l (21-12-2020)
Buscar en el tema
Enviar respuesta 




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



    This forum uses Lukasz Tkacz MyBB addons.