CASE STUDY INFORMATICA DATABASE VOTI PARTE 1 5BSA Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Utilizzando Microsoft Access Si crea la tabella Anagrafica degli alunni ,le Materie e i voti si mettono alcuni campi Si creano via via le query e si memorizzano dando loro un nome 1 CASE STUDY INFORMATICA DATABASE VOTI PARTE 1 5BSA Alunni materie 2 CASE STUDY INFORMATICA DATABASE VOTI PARTE 1 5BSA Voti Come data default metto quella di oggi 3 CASE STUDY INFORMATICA DATABASE VOTI PARTE 1 5BSA RELAZIONI 4 CASE STUDY INFORMATICA DATABASE VOTI PARTE 1 5BSA TABELLA METERIE TABELLA ALUNNI 5 CASE STUDY INFORMATICA DATABASE VOTI PARTE 1 5BSA TABELLA VOTI 6 CASE STUDY INFORMATICA DATABASE VOTI PARTE 1 5BSA Interrogazione di 1 livello su alunni NOME QUERY DESCRIZIONE ORDINAMENTO ALUNNI IN ORDINE ALFABETICO SQL SELECT alunni.Cognome, alunni.Nome, alunni.Datadinascita FROM alunni ORDER BY alunni.Cognome, alunni.Nome; elenco per età ORDINAMENTO ALUNNI IN ORDINE DAL PIU GIOVANE (DATAMAGGIORE) AL PIU VECCHIO ( SELECT alunni.Cognome, alunni.Nome, alunni.Datadinascita FROM alunni ORDER BY alunni.Datadinascita DESC; Totale alunni CONTEGGIA IL N UMERO RECORD DEGLI ALUNNI SELECT Count(IDALUNNO) AS Totale_alunni FROM alunni; Totale femmine CONTEGGIA IL NUMERO DELLE FEMMINE SELECT Count(IDALUNNO) AS Femmine FROM alunni elenco alfabetico 7 CASE STUDY INFORMATICA DATABASE VOTI PARTE 1 5BSA WHERE (((alunni.Maschio)=False)); Totale maschi CONTEGGIA IL NUMERO DEI MASCHI SELECT Count(IDALUNNO) AS Maschi FROM alunni WHERE (((alunni.Maschio)=True)); nominativo ELENCO NOMINATIVI IN ORDINE ALFABETICO (NOME E COGNOME MESSI INSIEME) SELECT alunni.Cognome & ' ' & alunni.Nome AS nominativo FROM alunni ORDER BY alunni.Cognome & ' ' & alunni.Nome; CERCAPERCOGNOME Cerca alunni con cognome russo SELECT alunni.Cognome, alunni.Nome, alunni.Datadinascita FROM alunni WHERE (((alunni.Cognome)="RUSSO")); COGNOMECOMINCIAPER Cerca alunni il cui cognome comincia con R SELECT alunni.Cognome, alunni.Nome, alunni.Datadinascita FROM alunni WHERE (((alunni.Cognome) LIKE "R*")); 8 CASE STUDY INFORMATICA DATABASE VOTI PARTE 1 5BSA FINISCEPER Cerca alunni il cui cognome finisce con I SELECT alunni.Cognome, alunni.Nome, alunni.Datadinascita FROM alunni WHERE (((alunni.Cognome) LIKE "*I")); contiene Cerca alunni il cui cognome contiene la R SELECT alunni.Cognome, alunni.Nome, alunni.Datadinascita FROM alunni WHERE (((alunni.Cognome) Like "*R*")); ALTEZZAUGUALE Cerca alunni CON ALTEZZA 1,65 SELECT alunni.Cognome, alunni.Nome, alunni.Datadinascita, alunni.Altezza FROM alunni WHERE (((alunni.Altezza)=1.65)); ALTEZZAMAGGIORE Cerca alunni CON ALTEZZA MAGGIORE DI 1,65 SELECT alunni.Cognome, alunni.Nome, alunni.Datadinascita, alunni.Altezza FROM alunni 9 CASE STUDY INFORMATICA DATABASE VOTI PARTE 1 5BSA WHERE (((alunni.Altezza)>1.65)); ALTEZZACOMPRESA PRIMI 2 GIOVANI Cerca alunni CON ALTEZZA COMPRESA TRA 1,65 E 1,75 (COMPRESI) TROVA I PRIMI 2 ALUNNI PIU GIOVANI Notare che nelle query i numeri decimali si indicano lo punto 1.75 anche se si visualizzano con 1,17 Inoltre le istruzioni LIKE access utilizza * ma lo standard è % Nelle string Access utilizza ‘xxx’ o “xxx” indifferendemente ma lo standard SQL è ‘xxxx’ 10 SELECT alunni.Cognome, alunni.Nome, alunni.Datadinascita, alunni.Altezza FROM alunni WHERE (((alunni.Altezza) Between 1.65 And 1.75)); SELECT TOP 2 alunni.Cognome, alunni.Nome, alunni.Datadinascita FROM alunni ORDER BY Datadinascita DESC; CASE STUDY INFORMATICA DATABASE VOTI PARTE 1 5BSA QUERY LIVELLO 2 (QUERY CHE UTILIZZANO ALTRE QUERY) NOME QUERY Maschi e femmine in alunni DESCRIZIONE Presenta totale alunni,numero maschi numero femmine SQL SELECT [Totale alunni].Totale_alunni, [Totale femmine].Femmine, [Totale maschi].Maschi FROM [Totale alunni], [Totale femmine], [Totale maschi]; percentuali maschi e femmine Presenta totale alunni,numero maschi numero femmine,percentuale maschi,percentuale femmine SELECT [Totale alunni].Totale_alunni, [Totale femmine].Femmine, [Totale maschi].Maschi, Femmine/Totale_alunni*100 & '%' AS perfemmine, Maschi/Totale_alunni*100 & '%' AS permaschi FROM [Totale alunni], [Totale femmine], [Totale maschi]; 11 CASE STUDY INFORMATICA DATABASE VOTI PARTE 1 5BSA QUERY sui VOTI NOME QUERY Vista voti miei voti DESCRIZIONE FA VEDERE I VOTI METTENDO DESCRIZIONE DELLA MATERIA E NOME E COGNOME SQL SELECT alunni.Cognome, alunni.Nome, materie.Materia, Voti.Voto, Voti.Data, alunni.IDalunno, materie.IDmateria FROM materie INNER JOIN (alunni INNER JOIN Voti ON alunni.IDalunno = Voti.IDalunno) ON materie.IDmateria = Voti.IDmateria; SELEZIONA TUTTI I VOTI DI UN ALUNNO SPECIFICO SELECT [Vista voti].Cognome, [Vista voti].Nome, [Vista voti].Materia, [Vista voti].Voto, [Vista voti].Data FROM [Vista voti] WHERE ((([Vista voti].IDalunno)=3)); 12 CASE STUDY INFORMATICA DATABASE VOTI PARTE 1 5BSA numero voti PER OGNI ALUNNO NUMERO VOTI,MAX MIN MEDIA 13 SELECT voti.IDalunno, count(*) AS numerovoti, avg(voto) AS media, min(voto) AS minimo, max(voto) AS massimo FROM voti GROUP BY IDalunno;