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
[Aporte] Final Gestion de Datos 25/07/2017
Autor Mensaje
Camper Sin conexión
Campeon del cubo Rubik
y nunca arme uno
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 129
Agradecimientos dados: 70
Agradecimientos: 126 en 36 posts
Registro en: May 2014
Mensaje: #1
[Aporte] Final Gestion de Datos 25/07/2017 Finales Gestión de Datos
Buenas, comparto lo que recuerdo del final, si alguien se acuerda del 1A o algo mas lo edito.
Me entregaron casi para el final, y me parece que nadie o casi nadie desaprobo.

1) V o F
A) Algo sobre el nivel de un arbol por transformada de knuth.
B) El nivel de aislamiento Repeteable Read acepta lecturas fantasmas

2) Preguntas a desarrollar
A) Indique y desarrolle dos objetos de la base de datos que aseguren integridad de datos
B) Comparar OLTP Y OLAP

3) Practica
A) Te daban 3 tablas
Pais
idPais
paisDetalle

Provincia
idPcia
idPais
habitantes

Ciudad
idCiudad
idProvincia

Pedia hacer un trigger tal que si se quiere insertar una provincia y esta no tenia ciudades, forzar que la cantidad de habitantes sea 0.

Hice algo asi pero tengo varias dudas:
CREATE TRIGGER in_Provincia ON Provincias INSTEAD OF INSERT
AS BEGIN
declare @idPcia int, @idPais int, @habitantes int

SELECT @idPcia = idPcia, @idPais = idPais, @habitantes = habitantes FROM INSERTED //No estoy seguro de esta sintaxis, ni tampoco si podian venir muchos filas
if(@habitantes > 0 AND select count(1) from ciudad where not exist (select 1 from ciudad where idPcia = @idPcia ) //Tampoco seguro de la sintaxis
begin
SET @habitantes = 0
end

INSERT INTO Provincia VALUES (@IdPcia, @IdPais, @habitantes)
END

B)
Te daban una query y el multiple choice de que sucedia

(Este mensaje fue modificado por última vez en: 27-07-2017 00:09 por Camper.)
26-07-2017 11:12
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Camper recibio 3 Gracias por este post
CarooLina (26-07-2017), diegomsaiz (26-07-2017), Smitten1994 (31-07-2017)
damianvc31 Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 49
Agradecimientos dados: 15
Agradecimientos: 22 en 16 posts
Registro en: Mar 2016
Mensaje: #2
RE: [Aporte] Final Gestion de Datos 25/07/2017
Creo que todo el mundo se sacó 6 jaja

A mi me parece que los prácticos eran un poco rebuscados. El 2do era A o B la respuesta? Tenía la duda si los null van arriba o abajo al ordenar ascendente, y terminé poniendo ambas opciones y explicando que dependía de la configuración de la BD (?)
26-07-2017 14:17
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Camper Sin conexión
Campeon del cubo Rubik
y nunca arme uno
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 129
Agradecimientos dados: 70
Agradecimientos: 126 en 36 posts
Registro en: May 2014
Mensaje: #3
RE: [Aporte] Final Gestion de Datos 25/07/2017
Yo le puse la A porque cuando ordenas de forma ascendente quedan los null arriba, PERO cuando sali me di cuenta que no habia forma que haya nulos en la consulta porque tenia: isnull(habitantes,1).
A la salida le pregunte que onda al ayudante a ver si era un error de la consigna o si era una trampa (bastante innecesaria, lo importante del ejercicio estaba en otra parte). Me dijo que tenian que verlo porque habia "muchos grises", asi que se ve que no estaban muy de acuerdo con la redacción del final.

26-07-2017 14:40
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
damianvc31 Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 49
Agradecimientos dados: 15
Agradecimientos: 22 en 16 posts
Registro en: Mar 2016
Mensaje: #4
RE: [Aporte] Final Gestion de Datos 25/07/2017
(26-07-2017 14:40)Camper escribió:  Yo le puse la A porque cuando ordenas de forma ascendente quedan los null arriba, PERO cuando sali me di cuenta que no habia forma que haya nulos en la consulta porque tenia: isnull(habitantes,1).
A la salida le pregunte que onda al ayudante a ver si era un error de la consigna o si era una trampa (bastante innecesaria, lo importante del ejercicio estaba en otra parte). Me dijo que tenian que verlo porque habia "muchos grises", asi que se ve que no estaban muy de acuerdo con la redacción del final.

El tema es que en el order by estaba ordenado por habitantes no por el isnull. Osea yo entendi como que se referia a donde quedaban las filas con habitantes null, aunque al mostrarse aparezcan como 1.
Asi que supongo que si quedan arriba, era la A.
26-07-2017 15:10
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.351
Agradecimientos dados: 85
Agradecimientos: 241 en 125 posts
Registro en: Oct 2011
Mensaje: #5
RE: [Aporte] Final Gestion de Datos 25/07/2017
Si al isnull(habitantes,1) lo renombran como "habitantes", el order by es sobre la nueva columna.

Habria que ver el final para estar seguros.

[Imagen: jQJfyBGh9SOmZ.png]
26-07-2017 20:42
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
GringoLixo Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7
Agradecimientos dados: 14
Agradecimientos: 4 en 3 posts
Registro en: Feb 2015
Mensaje: #6
RE: [Aporte] Final Gestion de Datos 25/07/2017
Les comento que pude averiguar la respuesta del 3-B por boca del profesor y era la C. La trampita estaba en que como el where es de Max(habitantes) de alguna de las provincias del pais, si todas las provincias tenían habitantes en null (podía pasar) entonces el subselect del where da siempre falso. Por lo tanto, NO va a haber registros de provincias con null
Además, al no haber provincias con null, te aseguras que todas las provincias que se muestran en la consulta tienen al menos una ciudad (por la regla de negocio del punto 3-A)
Con eso dicho, ya descartas la A y la B (no solo por el tema del orden de los nulls sino también porque decían que los registros que traías no hablaban de que tenían que tener mínimo una ciudad)
(Este mensaje fue modificado por última vez en: 26-07-2017 23:13 por GringoLixo.)
26-07-2017 22:46
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] GringoLixo recibio 2 Gracias por este post
CarooLina (26-07-2017), Camper (27-07-2017)
damianvc31 Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 49
Agradecimientos dados: 15
Agradecimientos: 22 en 16 posts
Registro en: Mar 2016
Mensaje: #7
RE: [Aporte] Final Gestion de Datos 25/07/2017
(26-07-2017 22:46)GringoLixo escribió:  Les comento que pude averiguar la respuesta del 3-B por boca del profesor y era la C. La trampita estaba en que como el where es de Max(habitantes) de alguna de las provincias del pais, si todas las provincias tenían habitantes en null (podía pasar) entonces el subselect del where da siempre falso. Por lo tanto, NO va a haber registros de provincias con null
Además, al no haber provincias con null, te aseguras que todas las provincias que se muestran en la consulta tienen al menos una ciudad (por la regla de negocio del punto 3-A)
Con eso dicho, ya descartas la A y la B (no solo por el tema del orden de los nulls sino también porque decían que los registros que traías no hablaban de que tenían que tener mínimo una ciudad)

Mira vos, lo pensé, pero creía que el valor máximo de habitantes devolvía null y terminaban quedando las provincias con null simplemente, mostrando el 1 por el isnull() del select principal. Muy tramposo.

Gracias por la info
27-07-2017 00:19
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Camper Sin conexión
Campeon del cubo Rubik
y nunca arme uno
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 129
Agradecimientos dados: 70
Agradecimientos: 126 en 36 posts
Registro en: May 2014
Mensaje: #8
RE: [Aporte] Final Gestion de Datos 25/07/2017
Ah la re manquie... Y yo poniendo "era simple" jajaja

"WHERE prov.habitantes = (SELECT MAX(p.habitantes) FROM Provincia p WHERE p.idPais=prov.idPais )"

Claro, prov.habitantes = null no existe, bastante tramposo

(Este mensaje fue modificado por última vez en: 27-07-2017 11:23 por Camper.)
27-07-2017 00:24
Envíale un email 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.