












Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Esercizi di informatica di Structured Query Language (SQL), un linguaggio standardizzato per database basati sul modello relazionale (RDBMS), progettato per le seguenti operazioni: Creare e modificare schemi di database (DDL = Data Definition Language); inserire, modificare e gestire dati memorizzati (DML = Data Manipulation Language); Interrogare i dati memorizzati (DQL = Data Query Language); creare e gestire strumenti di controllo e accesso ai dati (DCL = Data Control Language).
Tipologia: Esercizi
1 / 20
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!













Si consideri la base di dati definita dal seguente schema relazionale: Programma (Codice, NomeProgramma, Rete, Tipologia) Conduttore (NomeCond, CProgramma) Rilevazione (CodProg, Auditel) 1 ) Restituire l’indice Auditel del programma con codice ‘P 01 ’ SELECT Auditel FROM Rilevazione WHERE CodProg = ‘P01’
3) Restituire i nomi dei programmi con almeno due conduttori SELECT DISTINCT NomeProgramma FROM Programma P, Conduttore C 1 , Conduttore C WHERE P.Codice = C1.CProgramma AND P.Codice = C2.CProgramma AND C1.NomeCond > C2.NomeCond
4) Restituire i nomi dei programmi con un solo conduttore Strategia risolutiva: togliere ( EXCEPT ) i programmi con almeno 2 conduttori (query precedente) dai programmi con almeno un conduttore: (SELECT DISTINCT NomeProgramma FROM Programma, Conduttore WHERE Codice = CProgramma) EXCEPT (SELECT DISTINCT NomeProgramma FROM Programmi P, Conduttore C1, Conduttore C WHERE P.Codice = C1.CProgramma AND P.Codice = C2.CProgramma AND C1.NomeCond > C2.NomeCond)
2 ) Restituire i codici dei partiti con percentuale di favorevoli del 30 %. SELECT CodPart FROM Sondaggio WHERE PercFavorevoli = 30
3 ) Restituire i nomi dei partiti con percentuale di favorevoli del 30 %. SELECT NomePartito FROM Partito P, Sondaggio S WHERE P.Codice = S.CodPart AND S.PercFavorevoli = 30
5 ) Restituire i nomi dei partiti con esattamente due candidati. Strategia risolutiva: togliere ( EXCEPT ) i partiti con almeno 3 candidati dai programmi con almeno due candidati: (SELECT DISTINCT NomePartito FROM Partito P, Candidato C 1 , Candidato C 2 WHERE C 1 .CPartito = P.Codice AND C 2 .CPartito = P.Codice AND C 1 .Citta > C 2 .Citta) EXCEPT (SELECT DISTINCT NomePartito FROM Partito P, Candidato C 1 , Candidato C 2 , Candidato C 3 WHERE C 1 .CPartito = P.Codice AND C 2 .CPartito = P.Codice AND C 3 .CPartito = P.Codice AND C 1 .Citta > C 2 .Citta AND C 2 .Citta > C 3 .Citta)
Si consideri la base di dati definita dal seguente schema relazionale: Aeroporto (Città, Nazione, NumPiste) Volo (IdVolo, GiornoSett, CittàPart, OraPart, CittàArr, OraArr, TipoAereo) Aereo (TipoAereo, NumPasseggeri, QtaMerci) 1 ) Trovare le città da cui partono voli diretti a ‘Roma’, ordinate alfabeticamente SELECT DISTINCT CittàPar FROM Volo WHERE CittàArr= ‘Roma’ ORDER BY CittàPar
3 ) Di ogni volo misto (merci e passeggeri) estrarre il codice e i dati relativi al trasporto SELECT IdVolo, NumPasseggeri, QtaMerci FROM Volo V, Aereo A WHERE V.TipoAereo = A.TipoAereo AND NumPasseggeri > 0 AND QtaMerci > 0
4 ) Trovare l’aeroporto italiano con il maggior numero di piste SELECT Città, NumPiste FROM Aeroporto WHERE Nazione=‘Italia’ AND NumPiste = (SELECT MAX(numPiste) FROM Aeroporto WHERE Nazione=‘Italia’ )
Si consideri la base di dati definita dal seguente schema relazionale: Impiegato (CodFisc,Nome,Cognome,Recapito,Dip) Assegnazione (Imp,Prog) Progetto (CodP,NomeP,Budget) Dipartimento (CodD,NomeD,Indirizzo,Citta) 1 ) Trovare il nome delle persone con cognome ‘Rossi’. SELECT Nome FROM Impiegato WHERE Cognome = 'Rossi'
2 ) Trovare il nome e cognome degli impiegati con recapito ‘ 0984 123456 ’ SELECT Nome, Cognome FROM Impiegato WHERE Recapito = ‘ 0984 123456 ’
4 ) Per ogni progetto a cui sono assegnati almeno due impiegati, si recuperi il numero del progetto e il nome del progetto. SELECT DISTINCT P.CodP, P.NomeP FROM Progetto P, Assegnazione A 1 , Assegnazione A 2 WHERE A 1 .Prog = P.CodP AND A 2 .Prog = P.CodP AND A 1 .Imp > A 2 .Imp
5 ) Per ogni progetto a cui sono assegnati al più due impiegati, si recuperi il numero del progetto e il nome del progetto. Strategia risolutiva: togliere ( EXCEPT ) i progetti con almeno 3 impiegati dall’elenco di tutti i progetti: (SELECT DISTINCT P.CodP, P.NomeP FROM Progetto P) EXCEPT (SELECT DISTINCT P.CodP, P.NomeP FROM Progetto P, Assegnazione A 1 , Assegnazione A 2 , Assegnazione A 3 WHERE A 1 .Prog = P.CodP AND A 2 .Prog = P.CodP AND A 3 .Prog = P.CodP AND A 1 .Imp > A 2 .Imp AND A 2 .Imp > A 3 .Imp)