UTNianos

Versión completa: [APORTE] Final Gestión de Datos 29/07/2014
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Gente, comparto el final de ayer de GDD. Lamentablemente no pude aprobar porque la "práctica" nunca fué dada en la cursada de Moscuzza. Es una vergüenza que cada profesor de esta materia dé lo que se le ocurra y después te encuentres con estos disgustos en un final.

Subo también foto de la explicación del punto 3.b hecho por los profesores en el pizarrón.

[attachment=9265]

explicación 3b

[attachment=9268]

saludos,
Por suerte me acordé del tema de producto cartesiano. Cuando hice todo ese desarrollo (el mismo que explicaron ahí) creí que la había flasheado mal... Gran felicidad al ver la nota en la libreta.

Aporto:
El 3a.: Era la opción 2. El CASE funciona bien tanto en el select como en el group by, y devuelve como máximo 4 filas (en Unknown entrarían los importe=NULL, nótese que permite nulos en ese campo).

El 2a.: Era accesible. Hay un montón de objetos que en algún punto ayudan a la seguridad.

El 2b.: Puse que lo manejaría con triggers, con toda una explicación e incluyendo quizás algún Stored Procedure, pero no estoy seguro (probablemente en este fue el que perdí un punto).

Espero que sirva. Saludos!
Como que la práctica no fue dada en el curso??
No vieron sql?
El 2b alguien sabe como hacerlo? Lo primero que pense fue dblinks pero no funcionan con fk, los triggers tampoco funcionarian porque no detectarian truncate o drop table.

Alguna idea?
(31-07-2014 00:51)lucasjor escribió: [ -> ]Por suerte me acordé del tema de producto cartesiano. Cuando hice todo ese desarrollo (el mismo que explicaron ahí) creí que la había flasheado mal... Gran felicidad al ver la nota en la libreta.

lucasjor por qué se tienen en cuenta sólo los primeros 4 a la hora de hacer el producto cartesiano, si dice n > 1 ??

(31-07-2014 00:51)lucasjor escribió: [ -> ]El 3a.: Era la opción 2. El CASE funciona bien tanto en el select como en el group by, y devuelve como máximo 4 filas (en Unknown entrarían los importe=NULL, nótese que permite nulos en ese campo).

y de dónde sale que retorna como máximo 4 filas ?

Gracias!!
reLlene escribió:lucasjor por qué se tienen en cuenta sólo los primeros 4 a la hora de hacer el producto cartesiano, si dice n > 1 ??
Ojo, se tomo n=4 como ejemplo nomás en esa explicación. La respuesta correcta no es "2 y 3" sino "el segundo y el último número, considerando la tabla ordenada". Probá hacerte un ejemplo con números cualquiera y te tiene que dar así.
Tampoco podés decir "2 y n-1" porque no estás seguro que los números que hay en la tabla sean consecutivos.

reLlene escribió:El 3a.: Era la opción 2. El CASE funciona bien tanto en el select como en el group by, y devuelve como máximo 4 filas (en Unknown entrarían los importe=NULL, nótese que permite nulos en ese campo).
Los datos los estás agrupando por un campo que, según el CASE escrito, tiene 4 resultados posibles: 'cheap', 'expensive', 'very expensive', 'unknown'. Si mirás la sentencia te das cuenta que todos los números reales entran en alguno de los 3 primeros rangos. La trampa está en que podés pensar "si todos caen en esos rangos, como máximo son 3", pero.. el campo importe no tiene restricción de NOT NULL
=> puede haber nulos
=> los nulos no caen en ningún rango
=> caen en Unknown
=> puede haber registros que caigan en los 4 valores del CASE.
No puede retornar una quinta fila porque no existe valor que no entre en alguna de las 4 puertas de ese CASE, campo por el cual estás agrupando.

Espero que te ayude!
Claro, lo de la tabla ordenada lo entiendo pero no me cierra por qué joraca evalua sólo hasta 4!! wall Viene en relación con el punto anterior o qué?

Cito explicitamente:
Describir los errores de la siguiente consulta SQL, en caso de que no posea describir que retorna sabiendo que la tabla posee n registros siendo n>1

porque acá no me entero que tenga que cortar justo en 4

Gracias!!
en el final no veo nada q indique que es hasta 4.. no lo habrán dicho y se te escapó ?

igual si lo quisieras extender a N registros, la respuesta sería

devuelve (n + 1; max(numero) - 1)


osea devuelve n + 1, y en el otro devuelve un numero menor del numero mayor de toda la tabla.. tal vez hasta 4 es solo para explicarlo

(30-09-2014 23:38)franciscodiez escribió: [ -> ]El 2b alguien sabe como hacerlo? Lo primero que pense fue dblinks pero no funcionan con fk, los triggers tampoco funcionarian porque no detectarian truncate o drop table.

Alguna idea?

hasta donde se, triggers.
Si, ya se que no se bancan el truncate y el drop, pero segun san google me dice para integridad referencial entre distintas bases de datos (ni hablemos servers) no hay otra que triggers
"se tomo n=4 como ejemplo nomás en esa explicación"

Hacete pruebas con n=50, o con n=5 pero numeros no consecutivos. {2,13,7,45,20} por ejemplo. Te va a dar el segundo y el anteúltimo elemento (en el último caso serían 7 y 20, en el ejemplo del profesor 2 y 3).
Hola,
Una consulta el 2.a, capaz estoy entiendo mal, se refiere a la seguridad en el acceso osea al ingresa al la BD o a la seguridad en general de la base de datos. Si es lo primero q menciono que objetos serian??
Hay muchos que podes poner. Me parece que yo habia puesto triggers (cancelando transacciones segun quien las hace, por ejemplo) y vistas (que ocultan datos que el usuario no necesita ver), pero hay mas que podes relacionar con la seguridad.
Como ejercicio te recomendaria que repases todos los objetos de las BD y te vayas preguntando por cada uno cómo puede afectar a la seguridad y cómo puede afectar a la integridad, que son las preguntas más comunes creo.
(14-12-2014 22:37)lucasjor escribió: [ -> ]Hay muchos que podes poner. Me parece que yo habia puesto triggers (cancelando transacciones segun quien las hace, por ejemplo) y vistas (que ocultan datos que el usuario no necesita ver), pero hay mas que podes relacionar con la seguridad.
Como ejercicio te recomendaria que repases todos los objetos de las BD y te vayas preguntando por cada uno cómo puede afectar a la seguridad y cómo puede afectar a la integridad, que son las preguntas más comunes creo.

Gracias!!
3.b) Que flashean? Probando con cualquier combinacion arrancando en el X da (X+1, N-1)
URLs de referencia