Altri Esercizi
SQL Dati i seguenti schemi relazionali: Fornitori(fid:integer, fnome:char, indirizzo:char) Pezzi(pid:integer, pnome:char, colore:char) Catalogo(fid:integer, pid:integer, prezzo:real) esprimere in SQL la seguente interrogazione: a “Trovare i nomi dei pezzi forniti da Rossi con prezzo maggiore a 15.5 $”
SQL select P.pnome from Pezzi P, Catalogo C, Fornitori F where C.fid=F.fid and P.pid=C.pid and C.prezzo>15.5 and F.fnome=“Rossi” oppure select p.pnome from Pezzi P natural join Catalogo C natural join Fornitori F where C.prezzo>15.5 and F.fnome=“Rossi”
SQL Dati i seguenti schemi relazionali: Nave(nid:integer, nnome:char, colore:char) Marinaio(mid:integer, mnome:char, età:integer) Imbarco(nid:integer, mid:integer, data:date) Esprimere in SQL: “Trovare gli identificativi dei marinai con imbarchi su navi rosse e su navi blu ”
SQL select I.mid from Imbarco I, Nave N where I.nid=N.nid and N.colore=“rosso” and N.colore=“blu” ...Ma NON è una risposta corretta: la sua risposta è sempre vuota. Questa query seleziona le navi sia rosse che blu....
SQL risposta corretta select I.mid from Imbarco I, Nave N1, Nave N2 where I.nid=N1.nid and I.nid=N2.nid and N1.colore=“rosso” and N2.colore=“blu”
SQL Si consideri il seguente schema relazionale: Impiegato(cod:int, nome:char, cognome: char, dip:int, stipendio: int) Dipartimento(dip:integer,nomedip:char,sede:char) trovare i nomi e cognomi di tutti gli impiegati con cognomi uguali ma nomi diversi che lavorano nel dipartimento Produzione
SQL select I1.nome, I1.cognome from Impiegato I1, Impiegato I2, Dipartimento D where I1.dip=D.dip and I1.cognome=I2.cognome and I1.nome <> I2.nome and D.nomedip=“Produzione”
ER Esprimere con uno schema ER le seguenti specifiche: il database di un museo contiene informazioni riguardo alle opere d’arte attualmente ospitate in tale museo ed informazioni relative al personale: 1 Ogni opera ha identificativo (che la identifica unvocamente), il tipo (ad es. pittura, scultura…), lo stile e l’autore. 2 Ogni individuo che lavora al museo ha codice fiscale, nome, indirizzo e salario. 3 Alcuni membri del personale del museo sono restauratori. 4 Ogni restauratore è esperto di un solo tipo di opera. Esistono opere di cui nessun restauratore è esperto
ER personale opera (0,N) esperienza (1,1) restauratore altro personale
SQL Con riferimento allo schema relazionale Impiegato(nome:char, cognome: char, dip:int,stip:int) vogliamo sapere quanti impiegati lavorano nel dipartimento avente codice identificativo uguale a 123
SQL select count(*) from Impiegato where Impiegato.dip=123
SQL sempre tenendo conto degli schemi relazionali relativi agli impiegati ed ai dipartimenti, trovare la somma degli stipendi di tutti gli impiegati dello stesso dipartimento select I.dip, sum(I.stipendio) from Impiegato I group by I.dip
SQL Esprimere la seguente interrogazione: trovare
SQL Oltre alle tabelle Impiegato e Dipartimento, si consideri la tabella Progetto(codice:int, nome:char, budget:real) e la tabella Partecipazione(cod:int,codice:int,datainizio:date) Gli attributi cod e codice sono chiavi esterne delle tabelle Impiegato e Progetto trovare i cognomi degli impiegati che partecipano al progetto “WebDB” dal 15 aprile 2005
SQL select I.cognome from Impiegato I, Progetto P, Partecipazione Part where I.cod=Part.cod and P.codice=Part.codice and P.nome=‘WebDB’ and part.datainizio>=15/4/05
SQL trovare i cognomi degli impiegati che partecipano a qualche progetto a partire dal 15 aprile 2005
SQL select I.cognome from Impiegato I, Partecipazione Part where I.cod=Part.cod and part.datainizio>=15/4/05