Pagila — Triggers
Veure com a PDFEl videoclub vol que la base de dades vetlli per si sola per la qualitat de les dades: normalitzar noms, rebutjar preus absurds, deixar rastre dels canvis i descartar pagaments buits. Practiques triggers BEFORE i AFTER, FOR EACH ROW i FOR EACH STATEMENT, NEW/OLD, TG_OP, WHEN (…), UPDATE OF, RETURN NULL i taules de transició. Les taules de pagila ja tenen un trigger last_updated que posa last_update = now() a cada UPDATE; els teus triggers hi conviuen. Les taules de registre que es demanen les has de crear tu, amb els noms i les columnes indicats.
Aquest problema fa servir la base de dades Pagila (videoclub: pel·lícules, actors, inventari, lloguers i pagaments), amb les taules següents: actor, address, category, city, country, customer, film, film_actor, film_category, inventory, language, payment, rental, staff, store. Pots consultar l'esquema complet amb el botó "View the database schema" d'aquesta mateixa pàgina.
Les consultes s'executen sobre PostgreSQL 17: fes servir la sintaxi de PostgreSQL (i PL/pgSQL per a funcions, procediments i triggers).
Cada pregunta es contesta amb el codi que es demana (funcions, procediments, triggers...), en el seu propi quadre de text. Per corregir-lo, el teu codi s'instal·la sobre la base de dades original i s'hi executen unes proves: es compara el que retorna cada prova (o l'error que dona, si n'ha de donar) i el contingut final de les taules amb el que fa la solució del professor. No cal que facis DROP del que crees: sempre es parteix de zero.
Comentaris