Chinook — Triggers

Veure com a PDF

View the database schema Enviar solució

Punts: 5 (parcial)
Temps Límit: 2.0s
Límit de memòria: 62M

Autor/a:
tipus del problema
PostgreSQL - Triggers
Categoria
Bases de Dades
Llenguatges permesos
Text

La 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

En aquests moments no hi ha comentaris.