Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes

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: 3 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 3 Gracias por este post
lbagattin (16-07-2019), pablit (15-08-2019), manurocck (19-09-2019)
pablit Sin conexión
Secretario General
Divide et impera
*******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 974
Agradecimientos dados: 241
Agradecimientos: 964 en 102 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?

ANÁLISIS MATEMÁTICO I: Finales.
ÁLGEBRA Y GEOMETRÍA ANALÍTICA: Finales.
FÍSICA I: Ejercicios resueltos.
ECONOMÍA: Finales + Ejercicios de Final resueltos.
LEGISLACIÓN: Resumen.

ARQUITECTURA DE COMPUTADORES: Resumen con Apuntes.
ANÁLISIS DE SISTEMAS: Resumen.
(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
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.