Northwind — INSERT avançat
Veure com a PDFTancament de mes al magatzem de Northwind: cal registrar mermes, reservar estoc, rebre compres, facturar comandes i preparar les comandes de compra per reposar el que s'ha esgotat. Totes les preguntes es resolen amb una sola sentència de la família INSERT (també INSERT ... SELECT, INSERT IGNORE, REPLACE i INSERT ... ON DUPLICATE KEY UPDATE).
Les columnes id són AUTO_INCREMENT: si l'enunciat no diu el contrari, no cal indicar-les (el corrector considera equivalents tots els identificadors nous). Quan l'enunciat dona un nom (d'un producte, d'un estat, d'un tipus de transacció...), busca'n l'identificador amb una subconsulta o un JOIN en lloc d'escriure el número a mà. Les columnes que l'enunciat no esmenta s'han de deixar amb el seu valor per defecte.
Aquest problema fa servir la base de dades Northwind (empresa d'aliments: clients, empleats, productes, comandes, factures i compres a proveïdors), amb les taules següents: customers, employees, employee_privileges, inventory_transactions, inventory_transaction_types, invoices, orders, orders_status, orders_tax_status, order_details, order_details_status, privileges, products, purchase_orders, purchase_order_details, purchase_order_status, sales_reports, shippers, strings, 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