ESERCIZIO 1 Dato il seguente schema relazionale: PAZIENTE
Transcript
ESERCIZIO 1 Dato il seguente schema relazionale: PAZIENTE
ESERCIZIO 1 Dato il seguente schema relazionale: PAZIENTE(Tessera_SSN, Nome, Indirizzo, Esenzione_Ticket) ACQUISTO(Tessera_SSN, Num_Farmacia, Data, Luogo, Nome_Farmaco) FARMACO(Nome_Farmaco, Tipo_Farmaco, Ditta, Costo) esprimere in SQL le seguenti interrogazioni: a) estrarre il costo complessivo dei farmaci acquistati a Capri nel 1991 da pazienti con esenzione ticket b) estrarre il nome dei pazienti che hanno acquistato tutti i farmaci nella stessa farmacia ESERCIZIO 2 Dato il seguente schema relazionale: PASTA(Tipo_P, Marca, Prezzo_al_Kg, Cont_Prod, Cont_Calor) NEGOZIO(Nome_N, Proprietario, Tipo_N, Indirizzo, Citta) VENDE(Tipo_P, Marca, Nome_N, Proprietario) esprimere in SQL le seguenti interrogazioni: a) stabilire in quali negozi si vende una pasta che costa meno di L. 2000 al Kg e che ha un contenuto proteico maggiore di qualche pasta (non necessariamente venduta dallo stesso negozio) che costa meno di L. 2000 al Kg b) determinare qual è il prezzio medio della pasta nei negozi di ogni città ESERCIZIO 3 Dato il seguente schema relazionale: PROGETTO(Nome, Responsabile, Data_Inizio, Data_fine) RAPPORTO(Codice, Titolo, Nome_Prog, Primo_Aut, Numero_Aut, Data) esprimere in SQL le seguenti interrogazioni: a) trovare i titoli dei rapporti scritti nell’ambito del progetto Logres il cui primo autore è il responsabile del progetto, pubblicati dopo la fine del progetto b) trovare i progetti che hanno prodotto più di dieci rapporti con più di tre autori, il cui responsabile non figura come primo autore in nessuno dei rapporti del progetto ESERCIZIO 4 Dato il seguente schema relazionale: Partita(NroProgr, Data, Stadio, Arbitro, Girone) PartitaSquadra(NroProgrPartita, Squadra) Giocatore(Nome, Squadra, Numero, Ruolo) Rete(NroProgrPartita, Squadra, Minuto, NomeGiocatore, FlagAutogol, FlagRigore) EntrataGiocatore(NroProgrPartita, NomeGioc, Minuto) UscitaGiocatore(NroProgrPartita, NomeGioc, Minuto, Motivo) esprimere in SQL le seguenti interrogazioni: a) trovare i giocatori che sono stati sostituiti tutte le volte che hanno segnato una rete b) individuare qual è lo stadio in cui ha giocato più partite il portiere del Camerun con la maglia numero 1 (si supponga che esista un elemento in EntrataGiocatore con Minuto pari a zero per ogni giocatore presente in campo all’inizio della partita). ESERCIZIO 5 Dato il seguente schema relazionale: GranPremio(Nazione, Anno, Data, Circuito) Piazzamento(Nazione, Anno, Pilota, Scuderia, PosInProva, PosInGara, Squalifica, Punti) Pilota(Nome, Nazione, DataNascita) esprimere in SQL le seguenti interrogazioni: a) quali sono i piloti itliani che hanno vinto almeno tre gran premi di San Marino svoltisi a Imola. b) trovare le scuderie con due piloti in cui, quando i piloti hanno conquistato in gara posizioni consecutive, uno dei due ha sempre preceduto l’altro. c) visualizzare, per ogni nazione, il pilota di quella nazione che ha conquistato il maggior numero di punti, ordinando i piloti in modo decrescente rispetto ai punti. d) quali sono i piloti che hanno partecipato a gare nelle nazioni in cui si sono disputati due gran premi ESERCIZIO 6 Dato il seguente schema relazionale: Partners(Progetto, Nome) Progetti(Numero, Titolo, Budget, DataInizio, DataFine, PercBudgetSpeso) Attività(NumProg, Persona, Tipo, NroOre) Coordinatori(NumProg, Persona) Persone(Nome. CostoOrario, AttivitàPrinc) esprimere in SQL le seguenti interrogazioni: a) formulare un comando SQL che assegni all’attributo AttivitàPrinc di Persone il valore dell’attributo Tipo di Attività in corrispondenza del quale la persona ha lavorato il maggior numero di ore. b) estrarre le persone che sono state coinvolte, tra i vari progetti a cui hanno partecipato, in tutti i tipi di attività, compreso il ruolo di coordinatore. ESERCIZIO 7 Dato il seguente schema relazionale: Musicista(Nome, DataNascita, LuogoNascita, Sesso, Nazionalità) Gruppo(Nome, DataFormazione, DataScioglimento) Parteciazione(NomeMusicista, NomeGruppo, DataInizio, DataFine) Disco(Titolo, Artista, DataUscita, NumCopie) esprimere in SQL le seguenti interrogazioni: a) inserire in una vista il numero totale di copie vendute dei dischi che il musicista ha realizzato, da solo o in un gruppo (si noti che Artista può essere il nome sia di un musicista che di un gruppo); si supponga di poter svolgere operazioni aritmetiche sulle date per controllare che il disco del gruppo sia stato realizzato quando il musicista faceva effettivamente parte del gruppo. Si noti ancora che un valore null per DataFine rappresenta il fatto che il musicista fa ancora parte del gruppo. b) determinare il musicista che ha lasciato il massimo numero di gruppi prima del loro scioglimento ESERCIZIO 8 Dato il seguente schema relazionale: Impiegato(Nome. Cognome, Ufficio, Stipendio, Reparto) Reparto(Nome, Indirizzo, Città) esprimere in SQL le seguenti interrogazioni: a) b) c) d) reperire i cognomi degli impiegati del reparto Produzione reperire lo stipendio mensile degli impiegati di cognome Bianchi reperire gli impiegati con cognome avente una ‘o’ in seconda posizione e terminante per ‘i’ reperire i nomi e i cognomi degli impiegati con la città in cui lavorano