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:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[APORTE] FINAL GDD 21/12/2020
Autor Mensaje
Mica Fontan Sin conexión
Empleado del buffet
Cursando ingenieria en sistemas
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8
Agradecimientos dados: 24
Agradecimientos: 12 en 3 posts
Registro en: Jan 2012
Mensaje: #1
[APORTE] FINAL GDD 21/12/2020 Finales Gestión de Datos
Modalidad Virtual

40 min por el campus

1- Si una columna posee la constraint UNIQUE, entonces un sola fila como máximo puedecontener NULL en dicha columna. (V/F)
2- En SQL, una subconsulta en el SELECT siempre debe retornar una fila y una columna. (V/F)
3- IMAGEN(transacción)
Las transacciones A y B son ejecutadas ambas con un nivel de aislamiento SERIALIZABLE. Responder cual es la respuesta correcta.
Seleccione una:
a. Se genera un interbloqueo
b. La transacción B queda desestimada porque aplica un rollback al final, dejando
que la transacción A realice la modificación.
c. Ninguna de las anteriores
d. Se modifica solamente el producto cuyo id = 1, con un valor X en el atributo
detalle

4- IMAGEN(ojeto)



Y si aprobabas la parte del campus pasabas al oral 2 o 3 preguntas
- Huffman
- Arbol-B
- Trigger


Archivo(s) adjuntos Imagen(es)
       
Otros adjuntos en este tema Imagen(es)
       

.png  gdd final 3.png ( 90,97 KB / 1256) por driped
.png  gdd final 2.png ( 61,28 KB / 1211) por driped
.png  gdd final 1.png ( 30,28 KB / 1164) por driped
.rar  Final 21 12 2020 resolucion de Nico.rar ( 266,6 KB / 124) por nicolasAM
22-12-2020 19:49
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Mica Fontan recibio 8 Gracias por este post
chrisgel15 (22-12-2020), FeRLanD (22-12-2020), nicolasAM (22-12-2020), Martin. (23-12-2020), emilianoG (23-12-2020), daia0325 (26-01-2021), Vuljein (23-02-2021), jumelen (10-03-2021)
emilianoG Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 11
Agradecimientos dados: 7
Agradecimientos: 11 en 4 posts
Registro en: Jun 2016
Mensaje: #2
RE: [APORTE] FINAL GDD 21/12/2020
Hola!

Gracias por esto! vale oro. Sólo una consulta para quien tenga alguna idea: el punto 4 del DER, apela a que lo pensemos con triggers ¿no?
23-12-2020 09:56
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: 88
Agradecimientos: 296 en 137 posts
Registro en: Oct 2011
Mensaje: #3
RE: [APORTE] FINAL GDD 21/12/2020
(23-12-2020 09:56)emilianoG escribió:  Hola!

Gracias por esto! vale oro. Sólo una consulta para quien tenga alguna idea: el punto 4 del DER, apela a que lo pensemos con triggers ¿no?

Digamos que si, apelando al control de la integridad sobre el campo id de especialidad cuando se insertan registros o si se actualiza ese campo, chequeando ese nuevo campo exista en la tabla de Especialidades.

[Imagen: jQJfyBGh9SOmZ.png]
(Este mensaje fue modificado por última vez en: 23-12-2020 11:08 por Martin..)
23-12-2020 11:08
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Martin. recibio 1 Gracias por este post
emilianoG (23-12-2020)
driped Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 11
Agradecimientos dados: 2
Agradecimientos: 12 en 4 posts
Registro en: Jan 2015
Mensaje: #4
RE: [APORTE] FINAL GDD 21/12/2020
Para no hacer un tema aparte, les subo imagenes de otro tema del final. No llegue a la parte oral.


Archivo(s) adjuntos Imagen(es)
           
23-12-2020 14:41
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] driped recibio 3 Gracias por este post
emilianoG (23-12-2020), daia0325 (26-01-2021), Franco123 (17-02-2021)
Mica Fontan Sin conexión
Empleado del buffet
Cursando ingenieria en sistemas
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8
Agradecimientos dados: 24
Agradecimientos: 12 en 3 posts
Registro en: Jan 2012
Mensaje: #5
RE: [APORTE] FINAL GDD 21/12/2020
(23-12-2020 09:56)emilianoG escribió:  Hola!

Gracias por esto! vale oro. Sólo una consulta para quien tenga alguna idea: el punto 4 del DER, apela a que lo pensemos con triggers ¿no?

Claro, yo hice un trigger en el que te tenés que fijar, si insertas un entrenador, que exista ese id, eliminas una especialidad que no se esté usando ese id en entenador, y el update también.
No llegué a completar bien la lógica, por eso no subí resolución.
(Este mensaje fue modificado por última vez en: 23-12-2020 21:24 por Mica Fontan.)
23-12-2020 20:37
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nicolasAM Sin conexión
Secretario de la SAE
Aguante el Starbucks de la UADE
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 549
Agradecimientos dados: 164
Agradecimientos: 663 en 277 posts
Registro en: Jan 2017
LinkedIn
Mensaje: #6
RE: [APORTE] FINAL GDD 21/12/2020
Holis

Dejo mi resolución de este final: el tema de Mica completo y la parte práctica del tema de driped. Creo haber llegado bien a lo que pedían pero cualquier cosa me avisan

Besis love


Archivo(s) adjuntos
.rar  Final 21 12 2020 resolucion de Nico.rar (Tamaño: 266,6 KB / Descargas: 124)
22-06-2021 18:25
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] nicolasAM recibio 1 Gracias por este post
daia0325 (15-07-2021)
daia0325 Sin conexión
Empleado de Fotocopiadora
siempre se puede estar mejor
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 38
Agradecimientos dados: 114
Agradecimientos: 32 en 14 posts
Registro en: Jul 2017
Mensaje: #7
RE: [APORTE] FINAL GDD 21/12/2020
(22-06-2021 18:25)nicolasAM escribió:  Holis

Dejo mi resolución de este final: el tema de Mica completo y la parte práctica del tema de driped. Creo haber llegado bien a lo que pedían pero cualquier cosa me avisan

Besis love

Hola nicolasAM

Tengo unas diferencias con respecto a los ejercicios 2 y 3,
2 - En las clases de Reinosa justamente lo comenta y lo comenta como VERDADERO. Siempre debe devolver un escalar es decir un valor(conformado por una fila y una columna)
En SQL, una subconsulta en el SELECT siempre debe retornar una fila y una columna. (V/F).

3 - Vi en otros finales que toman como verdadera esta opción:
"d. Se modifica solamente el producto cuyo id = 1, con un valor X en el atributo detalle "
Entiendo que la Transacción A bloquea primero la tabla, por eso actualiza el detalle con un X donde el id=1 y luego del commit, la transacción B va a modificar pero en el UPDATE no especifica qué fila, porque no detalla el id(aunque al final haya un rollback, no se indicó para qué registro sería el update). Por eso, sólo se modifica lo que se realiza con la transacción A.

Espero los comentarios de quienes lean esto y si difieren en algo, me lo hagan saber.

Gracias!!
(Este mensaje fue modificado por última vez en: 20-09-2021 19:56 por daia0325.)
20-09-2021 19:53
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nicolasAM Sin conexión
Secretario de la SAE
Aguante el Starbucks de la UADE
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 549
Agradecimientos dados: 164
Agradecimientos: 663 en 277 posts
Registro en: Jan 2017
LinkedIn
Mensaje: #8
RE: [APORTE] FINAL GDD 21/12/2020
Holis

Me agarraste un poco en offside ya con esta materia porque no la tengo tan clara como hace un tiempo, pero me puse a ver un poco sobre lo que decís.

* 2- En SQL, una subconsulta en el SELECT siempre debe retornar una fila y una columna. (V/F)

Mi respuesta: "FALSO. (Puede contener varias filas)"

Te muestro un contraejemplo: Ejercicio 10 de la guía

/*
EJERCICIO N°10

Mostrar los 10 productos mas vendidos en la historia y también los 10 productos
menos vendidos en la historia. Además mostrar de esos productos, quien fue el
cliente que mayor compra realizo.
*/

SELECT
prod_codigo AS 'Codigo',
prod_detalle AS 'Producto',
(SELECT TOP 1 fact_cliente
FROM Item_Factura
JOIN Factura ON item_numero + item_tipo + item_sucursal =
fact_numero + fact_tipo + fact_sucursal
WHERE item_producto = prod_codigo
GROUP BY fact_cliente
ORDER BY SUM(item_cantidad) DESC) AS 'Mejor cliente'
FROM Producto
WHERE prod_codigo IN
(SELECT TOP 10 item_producto
FROM Item_Factura
GROUP BY item_producto
ORDER BY SUM(item_cantidad) DESC)
OR prod_codigo IN
(SELECT TOP 10 item_producto
FROM Item_Factura
GROUP BY item_producto
ORDER BY SUM(item_cantidad) ASC)

A menos que, claro, no se considere subconsulta a una que exista en el WHERE; cosa que no recuerdo.

3- IMAGEN(transacción)
Las transacciones A y B son ejecutadas ambas con un nivel de aislamiento SERIALIZABLE. Responder cual es la respuesta correcta.
Seleccione una:
a. Se genera un interbloqueo
b. La transacción B queda desestimada porque aplica un rollback al final, dejando
que la transacción A realice la modificación.
c. Ninguna de las anteriores
d. Se modifica solamente el producto cuyo id = 1, con un valor X en el atributo
detalle


Mi respuesta: c. Justificación: "Al ser serializable, se realiza cada transacción por separado. Pero como ambas comienzan en el t=0 no se sabe cuál va primero y por ende cuál ejecuta"
Vos decís:
Cita:Entiendo que la Transacción A bloquea primero la tabla, por eso actualiza el detalle con un X donde el id=1 y luego del commit, la transacción B va a modificar pero en el UPDATE no especifica qué fila, porque no detalla el id(aunque al final haya un rollback, no se indicó para qué registro sería el update). Por eso, sólo se modifica lo que se realiza con la transacción A.

Debo insistir con mi propia justificación: ¿Por qué suponés que la transacción A bloquea primero la tabla? Lo único que te indica cuáles son los tiempos de ejecución son los instantes de la primera columna de la tabla en la imagen. Ambas arrancan en el instante t=0, por ende no podés asegurar absolutamente nada del orden de ejecución ni cómo van a quedar las tablas al finalizar la corrida. ¿Podría suceder lo que decís? Obviamente. ¿Podría suceder otra cosa? También.

Cualquier cosa me decís. Besis love
20-09-2021 20:54
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
daia0325 Sin conexión
Empleado de Fotocopiadora
siempre se puede estar mejor
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 38
Agradecimientos dados: 114
Agradecimientos: 32 en 14 posts
Registro en: Jul 2017
Mensaje: #9
RE: [APORTE] FINAL GDD 21/12/2020
Gracias por la respuesta!!!

2 - Esto lo saqué literal de las PPT de clases:

SUBCONSULTA EN EL SELECT: siempre debe devolver un escalar o sea un conjunto conformado por una fila y una columna

SELECT col1, (SELECT col5 FROM tabla2 WHERE col3 = tablas1.col1) FROM tabla1

Dado que el SELECT en la lista de columnas está esperando un valor, si el resultado del SUBSELECT devuelve más de un valor ya sea en fila o en columna arroja error.



SUBCONSULTA EN EL WHERE: puede devolver cualquier expresión que pueda ser utilizada en una condición

SELECT col1, col2 FROM tabla1
WHERE col1 = (SELECT col3 FROM tabla2 WHERE col3 = tablas1.col1)

SELECT col1, col2 FROM tabla1
WHERE col1 IN (SELECT col3 FROM tabla2)

SELECT col1, col2 FROM tabla1
WHERE EXISTS (SELECT col3 FROM tabla2 WHERE col1 = col3)


El ejemplo que vos copias del ejercicio 10, tiene una subconsulta en el SELECT (TOP 1-va a devolver 1 valor) y en la subconsulta en el WHERE va a devolver varias filas por el TOP 10.


3- También muestra un ejercicio en clases, explicando esto.
El SELECT que se ejecuta primero es el que bloquea la tabla(en este caso primero ocurre el de la transacción A). "El primero que toca la tabla, la bloquea. El BEGIN TRANSACTION no bloquea, porque no está queriendo acceder a los datos"
No es exactamente el mismo ejercicio, pero es donde lo explica(1:36:40 aprox)
https://drive.google.com/file/d/1LKqXVlm...zgHT-/view

Lo que vos decís, creo aplica para cuando el SELECT se realiza en el mismo instante. (que sería el ejercicio del tema que le tomaron a driped)
(Este mensaje fue modificado por última vez en: 20-09-2021 23:38 por daia0325.)
20-09-2021 23:35
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nicolasAM Sin conexión
Secretario de la SAE
Aguante el Starbucks de la UADE
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 549
Agradecimientos dados: 164
Agradecimientos: 663 en 277 posts
Registro en: Jan 2017
LinkedIn
Mensaje: #10
RE: [APORTE] FINAL GDD 21/12/2020
Entonces, yo al menos diría, que en el caso del 2 la afirmación sigue siendo falsa. Sin embargo, está muy copada la ampliación de tu respuesta, queda mucho más claro.

En el caso del 3, ese dato no lo tenía. Buen aporte también. Andá a saber igual si hasta algunos de los profesores saben eso; que marcan "Ninguna de las anteriores" como LA respuesta válida. De todas formas, si vas a rendir en esta fecha y te aparece ese ejercicio, no dudaría en poner la que acá marcan como válida. No creo que se hayan puesto a pensar en esa posibilidad lol

Besis y éxitos love
21-09-2021 03:52
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] nicolasAM recibio 1 Gracias por este post
daia0325 (21-09-2021)
daia0325 Sin conexión
Empleado de Fotocopiadora
siempre se puede estar mejor
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 38
Agradecimientos dados: 114
Agradecimientos: 32 en 14 posts
Registro en: Jul 2017
Mensaje: #11
RE: [APORTE] FINAL GDD 21/12/2020
Gracias por el debate, sirve para pensar en las respuestas más haya de los resultados que den en los exámenes! =D

P/D: Ojalá me tomen esas 2 jajajaja

Besis wave
21-09-2021 09:48
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Renkon Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 24
Agradecimientos dados: 5
Agradecimientos: 23 en 6 posts
Registro en: Jan 2015
Facebook Twitter YouTube
Mensaje: #12
RE: [APORTE] FINAL GDD 21/12/2020
Las subconsultas pueden tener cualquier cantidad de filas y columnas.

Podrías hacer una subquery que te devuelva datos tabulados, otra subquery que te devuelva otros datos tabulados y después joinearlos como si fueran dos tablas si no me equivoco, por ejemplo.

EDIT: no había leído que hablaba de una subquery dentro del select, donde si o si tiene que ser un sólo valor.
(Este mensaje fue modificado por última vez en: 22-09-2021 13:10 por Renkon.)
22-09-2021 10:55
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Renkon recibio 1 Gracias por este post
daia0325 (22-09-2021)
daia0325 Sin conexión
Empleado de Fotocopiadora
siempre se puede estar mejor
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 38
Agradecimientos dados: 114
Agradecimientos: 32 en 14 posts
Registro en: Jul 2017
Mensaje: #13
Smile RE: [APORTE] FINAL GDD 21/12/2020
Hola Renkon, depende de dónde invoques la subconsulta debe cumplir con algunos requisitos.

En este caso en particular la pregunta hace referencia a subconsultas en el SELECT, en otras líneas aplican otras restricciones/condiciones para que no arroje error.

No es lo mismo en el SELECT/GROUP BY/ORDER BY - donde la restricción es la misma: devuelve 1 fila y 1 columna (1 valor)

Que en el WHERE - donde la restricción depende de cómo querramos filtrar
SUBCONSULTA EN EL WHERE: puede devolver cualquier expresión que pueda ser utilizada en una condición

SELECT col1, col2 FROM tabla1
WHERE col1 = (SELECT col3 FROM tabla2 WHERE col3 = tablas1.col1)

SELECT col1, col2 FROM tabla1
WHERE col1 IN (SELECT col3 FROM tabla2)

SELECT col1, col2 FROM tabla1
WHERE EXISTS (SELECT col3 FROM tabla2 WHERE col1 = col3)
22-09-2021 12:26
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] daia0325 recibio 1 Gracias por este post
Renkon (22-09-2021)
Renkon Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 24
Agradecimientos dados: 5
Agradecimientos: 23 en 6 posts
Registro en: Jan 2015
Facebook Twitter YouTube
Mensaje: #14
RE: [APORTE] FINAL GDD 21/12/2020
(22-09-2021 12:26)daia0325 escribió:  Hola Renkon, depende de dónde invoques la subconsulta debe cumplir con algunos requisitos.

En este caso en particular la pregunta hace referencia a subconsultas en el SELECT, en otras líneas aplican otras restricciones/condiciones para que no arroje error.

No es lo mismo en el SELECT/GROUP BY/ORDER BY - donde la restricción es la misma: devuelve 1 fila y 1 columna (1 valor)

Que en el WHERE - donde la restricción depende de cómo querramos filtrar
SUBCONSULTA EN EL WHERE: puede devolver cualquier expresión que pueda ser utilizada en una condición

SELECT col1, col2 FROM tabla1
WHERE col1 = (SELECT col3 FROM tabla2 WHERE col3 = tablas1.col1)

SELECT col1, col2 FROM tabla1
WHERE col1 IN (SELECT col3 FROM tabla2)

SELECT col1, col2 FROM tabla1
WHERE EXISTS (SELECT col3 FROM tabla2 WHERE col1 = col3)

Tenés razón. No había visto que mencionaba el SELECT exclusivamente. Ahí si entonces tiene que ser un sólo valor.
22-09-2021 13:05
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)