Utilizzando Microsoft Access Si crea la tabella Anagrafica degli

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;