vuoi
o PayPal
tutte le volte che vuoi
B A S I D I D A T I
A L G E B R A R E L A Z I O N A L E
I seguenti esercizi, oltre ad essere normalmente letti, possiedono delle soluzioni le quali
sono già correttamente formattate per l'utilizzo del software Relational, consigliato dal
prof. Marco Ferretti sul quale sito sono disponibili ulteriori informazioni.
Esercizio 1
dal tema di esame del 17 Novembre 2004 (A)
SQUADRA(Codice,Allenatore,Città)
GIOCATORE(CF,Nome,CittàResidenza,CodiceSquadra,Ingaggio)
IMPIANTOSPORTIVO(Nome,Città,Capienza)
INCONTRO(NomeImpiantoSportivo,Giornata,Squadra1,Punti1,Squadra2,Punti2,Arbitro,CFgioc)
CLASSIFICA(Codicesquadra,Giornata,Posizione)
ARBITRI(CF,Nome,Anzianità)
Elencare la città nella quale si trova l’impianto sportivo di capienza minima.
r0 = πCAPIENZA(impiantosportivo)
r1 = ρCAPIENZA CAP(r0)
➡
r3 = πCITTA(impiantosportivo (r0-(πCAPIENZA(σCAPIENZA>CAP(r0 r1)))))
ᐅᐊ ᐅᐊ
Il seguente è un metodo alternativo:
r0 = πNOME,CAPIENZA(impiantosportivo)
r1 = ρNOME,CAPIENZA NOME2,CAPIENZA2(r0)
➡
r2 = r0 r1
ᐅᐊ
r3 = r2 - (σCAPIENZA>CAPIENZA2(r2))
r4 = impiantosportivo (πNOME(r3))
ᐅᐊ
Esercizio 2
dal tema di esame del 29 Aprile 2010 (A)
CANTIERE(Codice,Via,Ncivico,Comune,Azienda,CapoCantiere)
EDIFICIO(CodiceEdificio,CodiceCantiere,Tipo,Cubatura)
UNITAIMMOBILIARE(Codice,CodiceEdificio,CodiceCantiere,Piano,MQ,CFproprietario)
PERSONE(CF,Cognome,Nome,Mansione,ComuneResidenza)
LAVORO(CF,CodiceCantiere,Data,OreLavorate)
COMUNI(Codice,Città,Sindaco,Via,Ncivico)
AZIENDE(PIVA,RagioneSociale,Via,Ncivico,Comune,Amministratore)
Elencare i comuni il cui sindaco non è cittadino del comune stesso.
r1 := ρCF Sindaco (ρComuneResidenza Codice (persone))
➡ ➡
Esercizio 3
dal tema di esame del 15 Novembre 2010 (A)
UNIVERSITA(Codice,Nome,Città,Stato,Rettore,N_iscritti)
STUDENTI_ANAGRAFICA(CF, Matricola, Cognome,Nome,CittàResidenza)
STUDENTI_CARRIERA(Matricola,CorsoLaurea,AnnoCorso,Posizione)
STUDENTI_TASSE(Matricola,AnnoFiscale,N_rata,Importo,DataVersamento)
FACOLTA(Codice, Nome,Preside,ReferenteErasmus,Ateneo,N_iscritti)
SEDEDIDATTICA(Facoltà,Città,ReferenteOrganizzativo,ReferenteScientifico)
CORSOLAUREA(Codice, Nome, ReferenteCorso, Facoltà,N_iscritti,Città)
CORSO(Codice, Nome, Docente, CFU, OreLezione,OreEserc,OreLab)
PIANOSTUDI(CorsoLaurea,Corso,AnnoCorso,Semestre)
ESAMI(Studente,Corso,AnnoPiano,Data,Voto)
DOCENTI(CF, Cognome, Nome, CorsoPrincipale)
Elencare il cognome ed il nome dei docenti il cui corso principale ha almeno 6 crediti.
r1 = πCorsoPrincipale(ρCodice CorsoPrincipale(σCFU>5(corso)))
➡
r2 = πNome,Cognome(r1 docenti)
ᐅᐊ
Per ogni anno fiscale, identificare la prima data nella quale c’è stato un versamento da
parte di uno studente di una facoltà di ingegneria; elencare la data e l’anno fiscale.
Nota: l'esercizio è stato svolto senza selezionare gli studenti di Ingegneria.
r1 := πAnnoFiscale,DataVersamento(studenti_tasse)
r2 := ρDataVersamento Data2(r1)
➡
r3 := σDataVersamento>Data2(r1 r2)
ᐅᐊ
r2 := r1-(πAnnoFiscale,DataVersamento(r3))
Elencare i corsi che sono usati esattamente in due corsi di laurea, ma in anni di corso
diversi.
r1 := πCorsoLaurea,Corso,AnnoCorso(pianostudi)
r2 := ρCorsoLaurea CL1(ρAnnoCorso AC1(r1))
➡ ➡
r3 := ρCorsoLaurea CL2(ρAnnoCorso AC2(r1))
➡ ➡
r4 := σCL1<CorsoLaurea(σAC1<AnnoCorso(r1 r2))
ᐅᐊ
r5 := σCL1<>CL2(σCL2<>CorsoLaurea(σCorsoLaurea<>CL1
(σAC1<>AnnoCorso(σAC1<>AC2(σAC2<>AnnoCorso(r1 r2 r3))))))
ᐅᐊ ᐅᐊ
r6 := ρCorso Codice((πCorso(r5))-(πCorso(r4)))
➡
Esercizio 4
dal tema di esame del 15 Novembre 2010 (B)
UNIVERSITA(Codice,Nome,Città,Stato,Rettore,N_iscritti)
STUDENTI_ANAGRAFICA(CF, Matricola, Cognome,Nome,CittàResidenza)
STUDENTI_CARRIERA(Matricola,CorsoLaurea,AnnoCorso,Posizione)
STUDENTI_TASSE(Matricola,AnnoFiscale,N_rata,Importo,DataVersamento)
FACOLTA(Codice, Nome,Preside,ReferenteErasmus,Ateneo,N_iscritti)
SEDEDIDATTICA(Facoltà,Città,ReferenteOrganizzativo,ReferenteScientifico)
CORSOLAUREA(Codice, Nome, ReferenteCorso, Facoltà,N_iscritti,Città)
CORSO(Codice, Nome, Docente, CFU, OreLezione,OreEserc,OreLab)
PIANOSTUDI(CorsoLaurea,Corso,AnnoCorso,Semestre)
ESAMI(Studente,Corso,AnnoPiano,Data,Voto)
DOCENTI(CF, Cognome, Nome, CorsoPrincipale)
Elencare i corsi di laurea che, nel primo anno di corso, non hanno corsi di laboratorio
(quelli per i quali le OreLab=0).
r0 := corsolaurea – corsolaurea (ρCorsoLaurea Codice(πCorsoLaurea(ρCodice Corso
ᐅᐊ ➡ ➡
(πCodice(σOreLab=0(corsolaurea)))))) (σAnnoCorso=1(pianostudi))
ᐅᐊ
Per ogni studente, elencare la matricola, il cognome, il nome, il voto massimo e il voto
minimo.
r1 := πMatricola,Voto (ρStudente Matricola (esami))
➡
r2 := ρVoto Voto2 (r1)
➡
r3 := r1 r2
ᐅᐊ
r4 := σVoto>Voto2 (r3)
r5 := πMatricola,VotoMIN(ρVoto VotoMIN(πMatricola,Voto(r1)-πMatricola,Voto(r4)))
➡
r6 := πMatricola,Voto (ρVoto2 VotoMAX(πMatricola,Voto2(r2)-πMatricola,Voto2(r4)))
➡
MAX
r7 := r5 r6
ᐅᐊ
Elencare gli studenti che hanno superato tutti i corsi del proprio piano di studi.
Corso di laurea di ogni studente
r1 := πMatricola,CorsoLaurea (studenti_carriera)
Corso di laurea di ogni corso
r2 := πCorsoLaurea,Corso (pianostudi)
Corsi nel corso di laurea di ogni studente
r3 := πMatricola,Corso (r1 r2)
ᐅᐊ
Esami passati da ogni studente
r4 := πMatricola,Corso (ρStudente Matricola (σVoto>17 (esami)))
➡
Studenti che non hanno passato o non hanno fatto qualche esame del proprio piano
r5 := πMatricola (r3 - r4)
Studenti che hanno passato tutti gli esami del proprio piano
r6 := πMatricola(r3) - r5
Come r6 ma con più informazioni
r7 := r6 studenti_anagrafica
ᐅᐊ