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 26/02/2019
Autor Mensaje
elcal_vito Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1
Agradecimientos dados: 0
Agradecimientos: 5 en 1 posts
Registro en: Feb 2019
Mensaje: #1
[APORTE ] Final GDD 26/02/2019 Finales Gestión de Datos
Gente, me saqué esta materia del orto por fin. Hice todos los puntos menos un v-f asi que lo que hice está todo bien (metí un 9 milagroso)

TEORÍA:
1a) ni la mas pálida idea Pochoclo2
1b) V (Segun leí... solo sql server acepta 1 unico null para unique, pero así y todo me la tomaron como bien)

2a y 2b) Nada raro... ACID tal cual está en wikipedia, Triggers tal cual está en los apuntes de Zaffaroni


PRÁCTICA:
3a) Aca la opción es la 4 (Ésta practicamente la contestó Reinosa cuando le pregunté si el "campoA" tenía valores unicos, a lo que contestó: "para el resultado no importa". Asi que por descarte era la 4)

3b) Acá metí 2 triggers after, uno en Persona (Insert/update porque si se borra una persona la fk no importa) y otro en Ciudades (Solo para Delete porque si se inserta una Ciudad la fk no importa y un update de una PK no se puede hacer). La otra cosa a tener en cuenta eran las operaciones masivas, que lo resolví contando cuantas no cumplian la condición y si ese numero era > 0 => hacer un rollback. Aca esta el codigo:

CREATE trigger t1 ON Persona AFTER Insert, Update
AS
BEGIN
IF ( select count(*) from Inserted where Ciudad not in (select idCiudad from Ciudades) ) > 0
BEGIN
RAISERROR('Error', 16, 1)
ROLLBACK TRANSACTION
END
END

CREATE trigger t2 ON Ciudades AFTER Delete
AS
BEGIN
IF ( select count(*) from Deleted where idCiudad in (select distinct Ciudad from Persona) ) > 0
BEGIN
RAISERROR('Error', 16, 1)
ROLLBACK TRANSACTION
END
END

Espero que le sirva a alguien.

Saludos.


Archivo(s) adjuntos Imagen(es)
   
28-02-2019 09:49
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] elcal_vito recibio 5 Gracias por este post
lbagattin (16-07-2019), pablit (15-08-2019), manurocck (19-09-2019), Diesel (17-10-2019), DrWily (28-11-2019)
pablit Sin conexión
Presidente del CEIT
Tortuga marítima
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.016
Agradecimientos dados: 268
Agradecimientos: 1.086 en 122 posts
Registro en: Apr 2010
Mensaje: #2
RE: [APORTE ] Final GDD 26/02/2019
Creo que el 3b se puede resolver de una manera más sencilla...

Como el inicio de la consigna te dice que la tabla no posee ninguna constraint, uno podría ejecutar este código:
ALTER TABLE Persona
ADD FOREIGN KEY Ciudad REFERENCES Ciudades(Ciudad)


¿Puede ser?

ÁGA ► Finales.
AM1 ► Finales.
AM2 ► Resueltos y Resueltos.
Fís1 ► Resueltos.
Fís2 ► Resumen · Resueltos.
Eco ► Finales · Resueltos · Fórmulas.
Leg ► Resumen.

Arq ► Resumen.
AdS ► Resumen.
PdP ► Resueltos.
(Este mensaje fue modificado por última vez en: 24-09-2019 00:43 por pablit.)
24-09-2019 00:42
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
chrisgel15 Sin conexión
Profesor del Modulo A
De Racing, Vago y Atorrante
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 241
Agradecimientos dados: 433
Agradecimientos: 110 en 57 posts
Registro en: Jul 2010
Facebook
Mensaje: #3
RE: [APORTE ] Final GDD 26/02/2019
pablit, como va? Si bien tu solucion resolveria el problema que piden, creo que estarias "esquivando el bulto" =D si lo haces de esa manera.

Fijate que dice "crear los objetos necesarios" (vos no creas ninguno, solo actualizas tabla) y luego dice "para emular que el campo ciudad sea una FK", cosa que tampoco estas haciendo porque directamente le estas agregando la FK.

Creo que justamente se pretende que desarrolles un trigger.

Saludos!
24-02-2020 13:02
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
pablit Sin conexión
Presidente del CEIT
Tortuga marítima
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.016
Agradecimientos dados: 268
Agradecimientos: 1.086 en 122 posts
Registro en: Apr 2010
Mensaje: #4
RE: [APORTE ] Final GDD 26/02/2019
Creo que tenés razón.

ÁGA ► Finales.
AM1 ► Finales.
AM2 ► Resueltos y Resueltos.
Fís1 ► Resueltos.
Fís2 ► Resumen · Resueltos.
Eco ► Finales · Resueltos · Fórmulas.
Leg ► Resumen.

Arq ► Resumen.
AdS ► Resumen.
PdP ► Resueltos.
24-02-2020 13:12
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.