Miniwind — INSERT avançat
Veure com a PDFINSERT més enllà de la llista de valors fixos: subconsultes dins de VALUES per buscar claus foranes pel nom, INSERT ... SELECT (amb JOIN, GROUP BY i HAVING) per crear diverses files a partir de les dades existents, i les variants de MySQL per gestionar claus duplicades: INSERT IGNORE, REPLACE i INSERT ... ON DUPLICATE KEY UPDATE. Quan no s'indica l'id, la base de dades n'assigna un de nou (el corrector l'accepta sigui quin sigui).
Aquest problema fa servir la base de dades Miniwind (botiga d'aliments a l'engròs: clients, empleats, productes, comandes i factures), amb les taules següents: customers, employees, invoices, orders, orders_status, order_details, order_details_status, products, suppliers. Pots consultar l'esquema complet amb el botó "View the database schema" d'aquesta mateixa pàgina.
Les consultes s'executen sobre MySQL (MariaDB), així que pots fer servir la sintaxi i les funcions de MySQL que fas servir a classe.
Cada pregunta es contesta amb una sola sentència INSERT o REPLACE, en el seu propi quadre de text. Cada pregunta s'executa per separat sobre una còpia de la base de dades original: els canvis d'una pregunta no afecten les altres. Per donar-la per bona es compara el contingut final de totes les taules amb el que deixaria la solució del professor, així que cal escriure exactament els valors demanats (els números sense cometes i els textos entre cometes simples).
Comentaris