Chinook — Triggers
Veure com a PDFLa botiga Chinook vol que la base de dades vetlli sola per la qualitat de les dades, sigui quina sigui l'aplicació que hi escrigui. Practiques triggers BEFORE i AFTER, de fila (FOR EACH ROW) i de sentència (FOR EACH STATEMENT), l'ús de NEW, OLD i TG_OP, condicions WHEN (...) i UPDATE OF columna, l'auditoria en una taula de registre, el manteniment de camps calculats, RETURN NULL per descartar files sense error i les taules de transició (REFERENCING OLD TABLE ... NEW TABLE ...). Crea primer la funció del trigger (RETURNS trigger) i després el trigger, amb els noms que indica l'enunciat; les proves executen sentències sobre les taules i comproven què ha passat.
Aquest problema fa servir la base de dades Chinook (botiga de música: artistes, àlbums, pistes, playlists, clients i factures), amb les taules següents: album, artist, customer, employee, genre, invoice, invoice_line, media_type, playlist, playlist_track, track. 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