Northwind — DELETE

Veure com a PDF

View the database schema Enviar solució

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

Autor/a:
tipus del problema
SQL - Deletes
Categoria
Bases de Dades
Llenguatges permesos
Text

Neteja de dades a Northwind. Cada pregunta es resol amb una sola sentència DELETE: per rangs i patrons, amb NOT IN / NOT EXISTS, multitaula amb JOIN i amb ORDER BY ... LIMIT.

Important: les claus foranes de Northwind són NO ACTION: no es pot esborrar una fila "pare" mentre alguna fila "filla" hi apunti (per exemple, un producte que surt en alguna línia de comanda, o una comanda que té línies o factura). Si ho intentes, MySQL dona l'error 1451 (Cannot delete or update a parent row) i la sentència no esborra res. Per això, quan esborris pares, has de filtrar només els que no tenen fills.

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 DELETE, 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

En aquests moments no hi ha comentaris.