Si vogliono organizzare le informazioni relative ai clienti, ai loro rappresentanti e alle fatture emesse. Ogni rappresentante, che opera in una certa zona, ha tanti clienti, mentre a un cliente, identificato da una ragione sociale, partita iva, indirizzo e numero di telefono, corrisponde un solo rappresentante. Per semplicità si supponga di registrare solo la data e l'importo totale di ogni fattura, senza specificare le righe di dettaglio sugli articoli venduti. Progettare il diagramma ER e lo schema relazionale. Rappresentare poi le seguenti interrogazioni: a) Elenco dei clienti di un rappresentante b) Numero dei clienti affidati a un determinato rappresentante c) Cognome e nome del rappresentante di un determinato cliente d) Elenco delle fatture di un codice cliente prefissato in ordine di data e) Fatturato raggruppato per codice rappresentante f) Numero delle fatture emesse raggruppate per codice rappresentante g) Ragione sociale del cliente e data di emissione per la fattura con importo massimo h) Anagrafica del rappresentante corrispondente alla fattura con massimo importo i) Codice e ragione sociale dei clienti per i quali il fatturato totale è superiore a una cifra prefissata j) Codice e cognome dei rappresentanti per i quali il numero delle fatture è superiore a un numero prefissato Soluzioni a) SELECT * FROM `Cliente` WHERE codR='1234'oppure SELECT ragioneSociale FROM `Cliente`NATURAL JOIN Rappresentante WHERE Rappresentante.cognomeR='Pedretti' b) SELECT COUNT(*) AS conteggio FROM `Cliente` WHERE codR='5424' c) SELECT cognomeR, nomeR FROM `Rappresentante`, Cliente WHERE Rappresentante.codR=Cliente.codR AND ragioneSociale='Benedetti Stefano' d) SELECT * FROM `Fattura` WHERE codC='5634' ORDER BY dataF e) SELECT SUM(importoF) AS fatturato, codR FROM `Fattura` NATURAL JOIN Cliente NATURAL JOIN Rappresentante GROUP BY codR f) SELECT COUNT(codF) AS conteggio, codR FROM Fattura NATURAL JOIN Cliente NATURAL JOIN Rappresentante GROUP BY codR g) SELECT ragioneSocialeC, dataF, importoF FROM Fattura NATURAL JOIN Cliente WHERE importoF=(SELECT MAX(importoF) FROM Fattura) h) SELECT CONCAT(cognomeR,' ', nomeR) AS anagrafica FROM Fattura NATURAL JOIN Cliente NATURAL JOIN Rappresentante WHERE importoF=(SELECT MAX(importoF) FROM Fattura) i) SELECT codC, ragioneSocialeC, SUM(importoF) AS fatturato FROM `Fattura` NATURAL JOIN Cliente GROUP BY codC HAVING fatturato>6000 j) SELECT codR, cognomeR, COUNT(codR) AS conteggio FROM Fattura NATURAL JOIN Cliente NATURAL JOIN Rappresentante GROUP BY codR HAVING conteggio>2