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
[Pedido] GDD - Final del 23/02/2016
Autor Mensaje
holautn Sin conexión
Secretario de la SAE
IngMaster y Campeon del Cubo d...
******

Otra
Facultad Regional Buenos Aires

Mensajes: 668
Agradecimientos dados: 790
Agradecimientos: 98 en 74 posts
Registro en: Apr 2009
Mensaje: #1
[Pedido] GDD - Final del 23/02/2016 Finales Gestión de Datos
Hola a todos y a todas! (?)

Algun@ tiene, se acuerdo o sabe lo que tomaron hoy en el final de Gestion de datos?

Saludos y gracias!
(Este mensaje fue modificado por última vez en: 24-02-2016 13:48 por CarooLina.)
23-02-2016 23:38
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
DanAykroyd Sin conexión
Profesor del Modulo A
On a Mission from God
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 293
Agradecimientos dados: 14
Agradecimientos: 573 en 81 posts
Registro en: Oct 2009
Mensaje: #2
Rainbow 2016-02-23: Final Tomado y Mi Resolución
Hola "hola" =)

Fui a rendir hoy y te cuento lo que (creo) me acuerdo. La estructura del final fue la misma de siempre; 2 verdadero o falso que restaban si los hacías mal, 2 a desarrollar y 2 ejercicios prácticos. En color dejo lo que respondí yo.

1A) El algoritmo de Huffman siempre se basa en árboles completos
FALSO. Puede ser que tengas un nodo a la derecha y 200 a la izquierda; todo depende de la frecuencia de los caracteres

1B) El algoritmo QuickSort es siempre más rápido que Heap Sort
FALSO. QuickSort iba de O(n log n) a O(n^2) (creo; ya no me acuerdo), mientras que HeapSort siempre tenía O(n log n)

2A) Describa que es ACID para DBMS y cómo aplica con transacciones
Bastante fácil; la explicación de la sigla como está en Wikipedia

2B) Describa tres objetos de Base de Datos que permitan mantener la integridad de datos
Puse:
A) Constraints: como CHECK (EDAD > 18) en una tabla "Personas" o FOREIGN KEY Item_Factura_ID REFERENCES Factura (ID_Factura) para dos tablas de relación Padre-Hijo, como Cabecera y Detalle de Facturas

B) Trigger: para mantener integridad referencial entre las tablas, como manejo de eliminaciones en cascadas (TRIGGER INSTEAD OF DELETE) o calcular el importe total de una factura cuando se le agrega un ítem al detalle (TRIGGER AFTER INSERT)

C) Stored Procedures: acá escribí que permite centralizar la lógica de negocio y no depender de los distintos clientes que puedan utilizar la base de datos, esto ayuda a tener consistencia en el manejo de los procesos en vez de tener todo desparramado en cada cliente y asegurarse de que siempre se va a ejecutar lo mismo para una determinada acción. No se si estaba bien este, pero otro no se me ocurrió


3A) Daban las tablas (quizás los nombres de los campos eran distintos):

Cita:TABLA 1
---------
NOMBRE1 VARCHAR(50) NULL
ID1 (UNIQUE) NOT NULL

TABLA 2
---------
NOMBRE2 VARCHAR(50) NULL
ID2 (UNIQUE) NOT NULL

Y una vista:


CREATE VIEW Vista AS
SELECT MIN (T1.NOMBRE1), MAX (T2.NOMBRE2)
FROM Tabla 1 AS T1, Tabla 2 AS T2
HAVING T1.NOMBRE1 > T2.NOMBRE[b]1[/b] -- Notar el error!



Había que decir si tenía errores y reescribirla
Yo puse:
- WHERE en vez de HAVING
- El campo T2.NOMBRE1 no existe; debería ser el T2.NOMBRE2
- Quizás faltaba hacer el CAST (TONUMBER) para evaluar MIN y MAX (no se qué pasaba cuando lo corrés sobre un VARCHAR)


3B) Suponiendo que la vista que te daban se armaba correctamente, qué devolvería la siguiente consulta, sabiendo que ambas tablas poseían registros


SELECT * FROM Vista



Acá le puse que devolvería las dos columnas MIN y MAX en filas repetidas como tantos registros hubiera en la combinación del producto cartesiano entre las tablas, ya que si se fijan, en la vista se estaba haciendo un CROSS JOIN implícito al utilizar


WHERE T1.NOMBRE1 > T2.NOMBRE2



En fin, espero que te sirva. Seguro que alguien va a subir la foto próximamente. Yo me saqué 4, así que me salvé de tener que recursarla!.

Saludos!
(Este mensaje fue modificado por última vez en: 24-02-2016 02:03 por DanAykroyd. Razón de la edición: Agregué el 2B que me faltaba!)
24-02-2016 00:21
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] DanAykroyd recibio 4 Gracias por este post
Facu Figo (24-02-2016), holautn (24-02-2016), elmato18 (24-02-2016), rod77 (24-02-2016)
holautn Sin conexión
Secretario de la SAE
IngMaster y Campeon del Cubo d...
******

Otra
Facultad Regional Buenos Aires

Mensajes: 668
Agradecimientos dados: 790
Agradecimientos: 98 en 74 posts
Registro en: Apr 2009
Mensaje: #3
RE: [Pedido] Final del 23/02/2016
Mil gracias, DanAykroyd y felicitaciones!

Te acordas mas o menos el 2B?

CAST () se utiliza en SQLServer, no?

Saludos!
(Este mensaje fue modificado por última vez en: 24-02-2016 01:48 por holautn.)
24-02-2016 01:46
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
DanAykroyd Sin conexión
Profesor del Modulo A
On a Mission from God
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 293
Agradecimientos dados: 14
Agradecimientos: 573 en 81 posts
Registro en: Oct 2009
Mensaje: #4
RE: [Pedido] Final del 23/02/2016
Ahí agregué el 2B, me lo había comido!

Efectivamente; CAST es de Microsoft SQL Server. Te dejo una página con algunos ejemplos para que veas.

Saludos!
(Este mensaje fue modificado por última vez en: 24-02-2016 02:02 por DanAykroyd.)
24-02-2016 02:01
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] DanAykroyd recibio 1 Gracias por este post
holautn (24-02-2016)
Alhasar Sin conexión
Campeon del cubo Rubik
Analista
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 111
Agradecimientos dados: 26
Agradecimientos: 32 en 21 posts
Registro en: Jun 2012
Mensaje: #5
RE: [Pedido] Final del 23/02/2016
Aprobaste Dan? Yo fui ayer tambien y me fue bien.
El 3b lo que devolvia eran 2 valores probalo en sql te traeria el valor minimo y maximo de lo que queda de ese where. Como no te daba los valores era explicar eso.
Saludos!
24-02-2016 12:53
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
holautn Sin conexión
Secretario de la SAE
IngMaster y Campeon del Cubo d...
******

Otra
Facultad Regional Buenos Aires

Mensajes: 668
Agradecimientos dados: 790
Agradecimientos: 98 en 74 posts
Registro en: Apr 2009
Mensaje: #6
RE: [Pedido] Final del 23/02/2016
Alhasar Bien, a que a todos les fue bien! =D

Cita:El 3b lo que devolvia eran 2 valores probalo en sql te traeria el valor minimo y maximo de lo que queda de ese where. Como no te daba los valores era explicar eso.

No entendí la aclaración....Te preguntaba que te devolvia suponiendo que no tenia errores la vista...
24-02-2016 13:29
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Ivanorr1s Sin conexión
Militante
AutoMagically
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 93
Agradecimientos dados: 21
Agradecimientos: 62 en 30 posts
Registro en: Jan 2012
Mensaje: #7
RE: [Pedido] GDD - Final del 23/02/2016
Hola! Agrego mis respuestas: (no respondi los VoF)

2.a) ACID (buscable en todos lados)
2.b) PRIMARY KEY; FOREIGN KEY; TRIGGERS (con sus respectivas descripciones)
3.a) Similar a lo que puso DanAykrod, sólo que en vez de definir que faltaba un WHERE, aclaré que el HAVING solo puede utilizarse con funciones agregadas en las condiciones
3.b) Consideré que el resultado de ejecución era sobre mi rescritura de la consulta, ya que la que proveían en el final no compilaba ni a gancho.

Me saqué 7 ! Casi seguro que me equivoqué en definir ACID, ya que puse Atomicidad, Consistencia, Durabilidad e Integridad (que en realidad no existe, debí haber puesto Aislamiento).

Saludos!
24-02-2016 14:08
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
holautn Sin conexión
Secretario de la SAE
IngMaster y Campeon del Cubo d...
******

Otra
Facultad Regional Buenos Aires

Mensajes: 668
Agradecimientos dados: 790
Agradecimientos: 98 en 74 posts
Registro en: Apr 2009
Mensaje: #8
RE: [Pedido] GDD - Final del 23/02/2016
Ivanorr1s Gracias!

2.a. Con respecto a la relación a las transacciones, que pusiste? (Eso no es tan encontrable)
2.b. Como encaraste FOREIGN KEY?
3.a. Pregunta: Las funciones de agrupamiento también se puede escribir en GROUP BY? D: (Entiendo que es en WHERE O HAVING)

Saludos!
24-02-2016 14:32
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Martin. En línea
Presidente del CEIT
Enjoy it !
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.351
Agradecimientos dados: 85
Agradecimientos: 241 en 125 posts
Registro en: Oct 2011
Mensaje: #9
RE: [Pedido] GDD - Final del 23/02/2016
Si, si utilizas funciones de agrupamiento podes luego definir el group by pero esto no es necesario. Solo si vos detallas una columna constante, en este caso es OBLIGATORIO el uso del GROUP BY

Por ejemplo:
Vos podes tener lo siguiente:


SELECT MIN(PRECIO), MAX(PRECIO) FROM TABLA
WHERE NOMBRE = 'MARTIN'



O También podes definir lo siguiente:


SELECT MIN(PRECIO), MAX(PRECIO) FROM TABLA
WHERE NOMBRE = 'MARTIN'
GROUP BY NOMBRE



Cuándo es obligatorio usar el Group By, cuando detallas una columna que se mantiene constante.


SELECT NOMBRE,MIN(PRECIO), MAX(PRECIO) FROM TABLA
GROUP BY NOMBRE
HAVING NOMBRE = 'MARTIN'




Yendo más a fondo, en el group by podes utilizar funciones, pero éstas no pueden ser de agregado.

[Imagen: jQJfyBGh9SOmZ.png]
(Este mensaje fue modificado por última vez en: 24-02-2016 15:23 por Martin..)
24-02-2016 15:19
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Martin. recibio 1 Gracias por este post
holautn (24-02-2016)
holautn Sin conexión
Secretario de la SAE
IngMaster y Campeon del Cubo d...
******

Otra
Facultad Regional Buenos Aires

Mensajes: 668
Agradecimientos dados: 790
Agradecimientos: 98 en 74 posts
Registro en: Apr 2009
Mensaje: #10
RE: [Pedido] GDD - Final del 23/02/2016
(24-02-2016 15:19)Martin. escribió:  Cuándo es obligatorio usar el Group By, cuando detallas una columna que se mantiene constante.


SELECT NOMBRE,MIN(PRECIO), MAX(PRECIO) FROM TABLA
GROUP BY NOMBRE
HAVING NOMBRE = 'MARTIN'



Muchas gracias, Martin!

Esa consulta que cite es equivalente a esta?:



SELECT NOMBRE,MIN(PRECIO), MAX(PRECIO) FROM TABLA
WHERE NOMBRE = 'MARTIN'
GROUP BY NOMBRE


24-02-2016 15:43
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Ivanorr1s Sin conexión
Militante
AutoMagically
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 93
Agradecimientos dados: 21
Agradecimientos: 62 en 30 posts
Registro en: Jan 2012
Mensaje: #11
RE: [Pedido] GDD - Final del 23/02/2016
(24-02-2016 14:32)holautn escribió:  Ivanorr1s Gracias!

2.a. Con respecto a la relación a las transacciones, que pusiste? (Eso no es tan encontrable)
2.b. Como encaraste FOREIGN KEY?
3.a. Pregunta: Las funciones de agrupamiento también se puede escribir en GROUP BY? D: (Entiendo que es en WHERE O HAVING)

Saludos!


2.a) Atomicidad => hablar sobre que las transacciones son atómicas (valga la redundancia), permite al motor de BD determinar con facilidad si ejecuta con éxito o fracasa.
Consistencia => si una transacción tiene éxito, se guardan los cambios que se hayan hecho (COMMIT). Si fallase, se vuelve todo para atrás sin hacer "cosas por la mitad" (ROLLBACK).
Durabilidad => capacidad de responder frente a fallos. Las transacciones, frente a un error crítico, suspenden la ejecución, similar a lo que describí con la Consistencia.
(el otro flasheé, puse Integridad y la definí casi igual a Consistencia jajaja)

No recuerdo muy bien las respuestas, espero que te sirva esto que escribí. Debería de ayudarte a tener una idea de cómo encarar =P

2.b) FOREIGN KEY => es una referencia desde una tabla origen (ej: Facturas) hacia una tabla destino (Clientes). Contribuye a la integridad de datos ya que es una herramienta disponible para el usuario de BD para asegurar una relación entre un registro y otro de distintas tablas (blablabla). Ej: Facturas (id_factura PK, id_cliente FK) >0-------------|| Clientes (id_cliente PK)

PD: la línea de puntos asumí que es una relación del DER. Fija que rinde poner un DER en un final de GdD (?)
PD2: la consulta que citaste de Martin es errónea. Recordar SIEMPRE que la cláusula HAVING se debe utilizar con funciones agregadas en las condiciones, nunca sólo con constantes. Ej: HAVING COUNT(id_factura) > 1 OK; HAVING goles > 0 ERROR
(Este mensaje fue modificado por última vez en: 24-02-2016 16:40 por Ivanorr1s.)
24-02-2016 16:38
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Ivanorr1s recibio 1 Gracias por este post
holautn (24-02-2016)
holautn Sin conexión
Secretario de la SAE
IngMaster y Campeon del Cubo d...
******

Otra
Facultad Regional Buenos Aires

Mensajes: 668
Agradecimientos dados: 790
Agradecimientos: 98 en 74 posts
Registro en: Apr 2009
Mensaje: #12
RE: [Pedido] GDD - Final del 23/02/2016
Jajaja,Dale, lo tengo en cuenta!

Muchas gracias por las respuestas, Ivanorr1s !

Ah, pero entonces, está bien mi consulta? o.O



SELECT NOMBRE,MIN(PRECIO), MAX(PRECIO) FROM TABLA
WHERE NOMBRE = 'MARTIN'
GROUP BY NOMBRE


(Este mensaje fue modificado por última vez en: 24-02-2016 22:38 por holautn.)
24-02-2016 22:37
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Ivanorr1s Sin conexión
Militante
AutoMagically
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 93
Agradecimientos dados: 21
Agradecimientos: 62 en 30 posts
Registro en: Jan 2012
Mensaje: #13
RE: [Pedido] GDD - Final del 23/02/2016
De nada! Esa query es correcta sintácticamente y no, no es equivalente a la que citaste por el error que describí en el mensaje anterior. En este caso, al ejecutarla, retornará tantas filas como nombres haya, con su respectivo mínimo y máximo. Notar que si hay filas repetidas también las va a traer.
24-02-2016 23:04
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Ivanorr1s recibio 1 Gracias por este post
holautn (24-02-2016)
holautn Sin conexión
Secretario de la SAE
IngMaster y Campeon del Cubo d...
******

Otra
Facultad Regional Buenos Aires

Mensajes: 668
Agradecimientos dados: 790
Agradecimientos: 98 en 74 posts
Registro en: Apr 2009
Mensaje: #14
RE: [Pedido] GDD - Final del 23/02/2016
Igual, Ivanorr1s , no te creas que me trae repe...ya que los estoy agrupando por Nombre.. El problema que puede surgir es que si tengo 2 Martin diferentes, los va a tomar como uno. =P

Gracias!
24-02-2016 23:20
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Ivanorr1s Sin conexión
Militante
AutoMagically
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 93
Agradecimientos dados: 21
Agradecimientos: 62 en 30 posts
Registro en: Jan 2012
Mensaje: #15
RE: [Pedido] GDD - Final del 23/02/2016
Tenés razón. Me equivoqué!
24-02-2016 23:22
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.