La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

COME SI CREA UNA TABELLA CON UNA CHIAVE ESTERNA

Presentazioni simili


Presentazione sul tema: "COME SI CREA UNA TABELLA CON UNA CHIAVE ESTERNA"— Transcript della presentazione:

1 COME SI CREA UNA TABELLA CON UNA CHIAVE ESTERNA
Esercizi Access COME SI CREA UNA TABELLA CON UNA CHIAVE ESTERNA LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

2 LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA
Come operare quando una tabelle deve contenere una chiave esterna? Ad esempio la tabella delle ASSENZE ALUNNI ID_ALUNNI (PK) COGNOME NOME CLASSE SEZIONE N ASSENZE ID_ASSENZE (FK) DATA MOTIVO GIUSTIFICATA (S, N) 1 LEGENDA PK = PRIMARY KEY FK = FOREIGN KEY LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

3 LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA
RIASSUMENDO CREATE TABLE ALUNNI (ID_ALUNNI INTEGER NOT NULL, COGNOME CHAR (20), NOME CHAR (20), CLASSE INTEGER, SEZIONE CHAR (3), PRIMARY KEY (ID_ALUNNI)) I campi ID_ALUNNI della tabella ALUNNI e ID_ASSENZEdella tabella ASSENZE devono essere uguali: Stessa natura e stessa lunghezza CREATE TABLE ASSENZE (ID_ASSENZE INTEGER, DATA DATE, MOTIVO CHAR (20), GIUSTIFICATA CHAR (2), FOREIGN KEY (ID_ASSENZE) REFERENCES ALUNNI (ID_ALUNNI)) LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

4 LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA
Esercizi Access COME SI "POPOLANO" LE TABELLE LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

5 LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA
… la tabella ALUNNI ID_ALUNNI COGNOME NOME CLASSE SEZIONE 1 BIANCHI MARIO AR 2 ROSSI ALDO 3 VERDI FRANCA 4 GIALLI ROSA 5 NERI ROMINA e… la tabella ASSENZE ID_ALUNNI DATA MOTIVO GIUSTIFICATA 1 25/12/2012 MALATTIA SI 28/12/2012 FAMILIARI NO 3 22/12/2012 2 05/01/2013 08/01/2012 SCOLASTICI LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

6 ALUNNI, DOCENTI e VERIFICHE
Esercizi Access "POPOLIAMO" LE TABELLE: ALUNNI, DOCENTI e VERIFICHE LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

7 LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA
ID_ALUNNO COGNOME NOME CLASSE SEZIONE 1 BIANCHI MARIO AR 2 ROSSI ALDO 3 VERDI FRANCA 4 GIALLI ROSA 5 NERI ROMINA tabella ALUNNI ID_DOCENTE COGNOME NOME MATERIA 1 CATTEDRA FRANCO ITALIANO 2 DOCENTE SARA STORIA 3 MAESTRO DARIO tabella DOCENTI ID_ALUNNO ID_DOCENTE DATA VOTO TIPO_VERIFICA 1 01/01/2013 6 S 2 5 3 06/01/2013 9 O 10/01/2013 4 07/01/2013 P tabella VERIFICHE LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

8 Esercizi con una sola TABELLA
ACCESS Esercizi con una sola TABELLA 1) segnalare i dati anagrafici degli alunni 2) segnalare gli alunni di una specifica classe 3) segnalare gli alunni raggruppandoli per classe 4) ordinare alfabeticamente i dati degli alunni LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

9 Segnalare i dati anagrafici degli alunni
Primo esercizio … OPERIAMO NEL SEGUENTE MODO: APRIAMO UNA QUERY VUOTA (COME DESCRITTO IN PRECEDENZA) SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Cognome e Nome) Segnalare i dati anagrafici degli alunni Clicca per vedere la soluzione SELECT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI Secondo esercizio APRIAMO UNA QUERY VUOTA (COME DESCRITTO IN PRECEDENZA) SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI WHERE ALUNNI.CLASSE = [INSERISCI CLASSE] AND ALUNNI.SEZIONE = [INSERISCI SEZIONE] E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Cognome e Nome per classe) Segnalare gli alunni di una specifica classe Clicca per vedere la soluzione SELECT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI WHERE ALUNNI.CLASSE = [INSERISCI CLASSE] AND ALUNNI.SEZIONE = [INSERISCI SEZIONE] LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

10 Segnalare gli alunni raggruppandoli per classe
Terzo esercizio … OPERIAMO NEL SEGUENTE MODO: APRIAMO UNA QUERY VUOTA (COME DESCRITTO IN PRECEDENZA) SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECT ALUNNI.CLASSE, ALUNNI.SEZIONE, ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI GROUP BY ALUNNI.CLASSE, ALUNNI.SEZIONE, ALUNNI.COGNOME, ALUNNI.NOME E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Raggruppati per Cognome e Nome) Segnalare gli alunni raggruppandoli per classe Clicca per vedere la soluzione SELECT ALUNNI.CLASSE, ALUNNI.SEZIONE, ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI GROUP BY ALUNNI.CLASSE, ALUNNI.SEZIONE, ALUNNI.COGNOME, ALUNNI.NOME Quarto esercizio APRIAMO UNA QUERY VUOTA (COME DESCRITTO IN PRECEDENZA) - SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI ORDER BY ALUNNI.COGNOME, ALUNNI.NOME E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Ordinati per Cognome e Nome) ordinare alfabeticamente i dati degli alunni Clicca per vedere la soluzione SELECT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI ORDER BY ALUNNI.COGNOME, ALUNNI.NOME LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

11 Esercizi con due TABELLE
ACCESS Esercizi con due TABELLE 1) segnalare (1 sola volta) cognome e nome degli alunni che hanno fatto assenze 2) segnalare gli alunni che hanno giustificato 3) segnalare il cognome e numero delle assenze 4) segnalare gli alunni che hanno fatto assenze in un dato periodo [data inizio] e [data fine] LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

12 segnalare (1 sola volta) cognome e nome
Primo esercizio … OPERIAMO NEL SEGUENTE MODO: APRIAMO UNA QUERY VUOTA SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECT DISTINCT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI, ASSENZE WHERE ALUNNI.ID_ALUNNI = ASSENZE.ID_ALUNNI_ALUNN O e SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Alunni assenti) segnalare (1 sola volta) cognome e nome degli alunni che hanno fatto assenze Clicca per vedere la soluzione SELECT DISTINCT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI, ASSENZE WHERE ALUNNI.ID_ALUNNI = ASSENZE.ID_ALUNNI Secondo esercizio APRIAMO UNA QUERY VUOTA - SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECT DISTINCT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI, ASSENZE WHERE ALUNNI.ID_ALUNNI = ASSENZE.ID_ASSENZE AND ASSENZE.GIUSTIFICATA = 'SI' E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Assenze giustificate) segnalare gli alunni che hanno giustificato Clicca per vedere la soluzione SELECT DISTINCT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI, ASSENZE WHERE ALUNNI.ID_ALUNNI = ASSENZE.ID_ALUNNI AND ASSENZE.GIUSTIFICATA = 'SI' LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

13 segnalare gli alunni che hanno fatto assenze
Terzo esercizio … OPERIAMO NEL SEGUENTE MODO: APRIAMO UNA QUERY VUOTA SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECT ALUNNI.COGNOME, COUNT(*) AS 'NUMERO ASSENZE' FROM ALUNNI, ASSENZE WHERE ALUNNI.ID_ALUNNI = ASSENZE.ID_ASSENZE GROUP BY ALUNNI.COGNOME e SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Numero assenze) segnalare il cognome e numero delle assenze Clicca per vedere la soluzione SELECT ALUNNI.COGNOME, COUNT(*) AS 'NUMERO ASSENZE' FROM ALUNNI, ASSENZE WHERE ALUNNI.ID_ALUNNI = ASSENZE.ID_ALUNNI GROUP BY ALUNNI.COGNOME Quarto esercizio APRIAMO UNA QUERY VUOTA - SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECT DISTINCT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI, ASSENZE WHERE ALUNNI.ID_ALUNNI = ASSENZE.ID_ASSENZE AND ASSENZE.DATA BETWEEN [DATA INIZIO] AND [DATA FINE] E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Assenze del periodo) segnalare gli alunni che hanno fatto assenze in un dato periodo [data inizio] e [data fine] SELECT DISTINCT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI, ASSENZE WHERE ALUNNI.ID_ALUNNI = ASSENZE.ID_ALUNNI AND ASSENZE.DATA BETWEEN [DATA INIZIO] AND [DATA FINE] Clicca per vedere la soluzione LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

14 COME SI CREA UNA TABELLA CON PIù CHIAVI ESTERNE
Esercizi Access COME SI CREA UNA TABELLA CON PIù CHIAVI ESTERNE LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

15 LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA
Come operare quando una tabelle deve contenere due o più chiavi esterne? Ad esempio la tabella delle VERIFICHE DOCENTI ID_DOCENTE (PK) COGNOME NOME MATERIA ALUNNI ID_ALUNNO (PK) COGNOME NOME CLASSE SEZIONE 1 1 VERIFICHE ID_ALUNNO (FK) ID_DOCENTE (FK) DATA VOTO TIPO_VERIFICA (S, O, P) N N LEGENDA PK = PRIMARY KEY FK = FOREIGN KEY LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

16 … innanzitutto creare le tabelle (ALUNNI e DOCENTI) contenenti le Chiavi Primarie (PK) …
ID_ALUNNO (PK) COGNOME NOME CLASSE SEZIONE DOCENTI ID_DOCENTE (PK) COGNOME NOME MATERIA VERIFICHE ID_ALUNNO (FK) ID_DOCENTE (FK) DATA VOTO TIPO_VERIFICA (S, O, P) … e dopo creare la tabella (VERIFICHE) contenente le Chiavi Esterne (FK) LEGENDA: PK = PRIMARY KEY, FK = FOREIGN KEY Da ACCESS operare nel seguente modo: Selezionare l’oggetto QUERY – creare una query in visualizzazione Struttura – Chiudi - CREATE TABLE ALUNNI (ID_ALUNNO INTEGER, COGNOME CHAR (20), NOME CHAR(20), CLASSE INTEGER, SEZIONE CHAR (2), PRIMARY KEY (ID_ALUNNI)) CREATE TABLE DOCENTI (ID_DOCENTE INTEGER, COGNOME CHAR (20), NOME CHAR(20), MATERIA CHAR (30), PRIMARY KEY (CODICE)) ed infine questa col nome: crea tabella VERIFICHE questa col nome: crea tabella DOCENTI Salviamo questa tabella col nome: crea tabella ALUNNI CREATE TABLE VERIFICHE (ID_ALUNNO INTEGER, ID_DOCENTE INTEGER, DATA DATE, VOTO INTEGER, TIPO_VERIFICA CHAR (1), FOREIGN KEY (ID_ASSENZE) REFERENCES ALUNNI (ID_ALUNNI), FOREIGN KEY (ID_DOCENTE) REFERENCES DOCENTI (ID_DOCENTE)) LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

17 Esercizi con più TABELLE
ACCESS Esercizi con più TABELLE Cognome e nome degli alunni con voto superiore a 5 in italiano 2) SEGNALARE, PER OGNI MATERIA, IL NUMERO DELLE VERIFICHE 3) Cognome, nome e voti nello scritto degli alunni in una specifica materia 4) Cognome e nome di alunni e docenti e della relativa materia per le prove di una specifica tipologia LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

18 dati degli alunni con voto superiore a 5 in italiano
Primo esercizio … OPERIAMO NEL SEGUENTE MODO: APRIAMO UNA QUERY VUOTA SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECT DISTINCT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI, ASSENZE WHERE ALUNNI.ID_ALUNNI = ASSENZE.ID_ALUNNI_ALUNN O e SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Italiano maggiore di 5) dati degli alunni con voto superiore a 5 in italiano Clicca per vedere la soluzione SELECT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI, VERIFICHE, DOCENTI WHERE ALUNNI.ID_ALUNNO = VERIFICHE.ID_ALUNNO AND DOCENTI.ID_DOCENTE = VERIFICHE.ID_DOCENTE AND DOCENTI.MATERIA = 'ITALIANO' AND VERIFICHE.VOTO > 5 Secondo esercizio APRIAMO UNA QUERY VUOTA - SCRIVIAMO … SELECT DISTINCT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI, ASSENZE WHERE ALUNNI.ID_ALUNNI = ASSENZE.ID_ASSENZE AND ASSENZE.GIUSTIFICATA = 'SI' E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Materia e numero verifiche) SEGNALARE, PER OGNI MATERIA, IL NUMERO DELLE VERIFICHE Clicca per vedere la soluzione SELECT DOCENTI.MATERIA, COUNT(*) AS 'NUMERO VERIFICHE' FROM ALUNNI, VERIFICHE, DOCENTI WHERE ALUNNI.ID_ALUNNO = VERIFICHE.ID_ALUNNO AND DOCENTI.ID_DOCENTE = VERIFICHE.ID_DOCENTE AND GROUP BY DOCENTI.MATERIA LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

19 dati e voti degli alunni in una materia con verifica scritta
Terzo esercizio … OPERIAMO NEL SEGUENTE MODO: APRIAMO UNA QUERY VUOTA SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECT DISTINCT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI, ASSENZE WHERE ALUNNI.ID_ALUNNI = ASSENZE.ID_ALUNNI_ALUNN O e SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Alunni e voti in una materia) dati e voti degli alunni in una materia con verifica scritta Clicca per vedere la soluzione SELECT ALUNNI.COGNOME, ALUNNI.NOME, VERIFICHE.VOTO FROM ALUNNI, VERIFICHE, DOCENTI WHERE ALUNNI.ID_ALUNNO = VERIFICHE.ID_ALUNNO AND DOCENTI.ID_DOCENTE = VERIFICHE.ID_DOCENTE AND DOCENTI.MATERIA = [INSERISCI MATERIA] AND VERIFICHE.TIPO_VERIFICA = 'S' Quarto esercizio APRIAMO UNA QUERY VUOTA - SCRIVIAMO … SELECT DISTINCT ALUNNI.COGNOME, ALUNNI.NOME FROM ALUNNI, ASSENZE WHERE ALUNNI.ID_ALUNNI = ASSENZE.ID_ASSENZE AND ASSENZE.GIUSTIFICATA = 'SI' E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Alunni docenti e materia per tipo verifica) dati degli alunni, dei docenti e della materia per le prove di cui si conosce il tipo Clicca per vedere la soluzione SELECT ALUNNI.COGNOME, ALUNNI.NOME, DOCENTI.COGNOME, DOCENTI.NOME, DOCENTI.MATERIA FROM ALUNNI, VERIFICHE, DOCENTI WHERE ALUNNI.ID_ALUNNO = VERIFICHE.ID_ALUNNO AND DOCENTI.ID_DOCENTE = VERIFICHE.ID_DOCENTE AND VERIFICHE.TIPO_VERIFICA = [INSERISCI TIPO VERIFICA: S, P o O] LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA

20 Festival di Sanremo

21 Festival di Sanremo Schema relazionale:
Canzone (Titolo, Testo, Primo_Autore, durata) Cantante (Nome_di_Arte, Numero_Dischi_venduti) Canta (Titolo, Nome_di_Arte, Edizione_Festival, Posizione, Punti, Ingaggio, Big)

22 Festival di Sanremo Schema relazionale: 1) livello concettuale

23 Schema relazionale: 2) livello logico e fisico
TABELLA CANTANTE Nome campo Formato Dimensione Chiave Note Nome_di_arte Carattere 20 Primaria Numero_dischi_venduti Numerico 8 Schema relazionale: 2) livello logico e fisico TABELLA CANZONE Nome campo Formato Dimensione Chiave Note Titolo Carattere 20 Primaria Testo Memo Primo_autore Durata Numerico 4 In secondi TABELLA CANTA Nome campo Formato Dimensione Chiave Note Titolo Carattere 20 Esterna Nome_di_arte Edizione_festival Numerico 3 Posizione 2 Punti Ingaggio Valuta 7 Big Si oppure NO

24 NUMERO_DISCHI_VENDUTI
Popoliamo le tabelle con i seguenti dati: CANTANTE NOME_DI_ARTE NUMERO_DISCHI_VENDUTI ARISA LIGABUE RANIERI VASCO CANZONE TITOLO TESTO PRIMO_AUTORE DURATA ALBA CHIARA MOGOL-VASCO 330 CERTE NOTTI LIGABUE 230 LA VITA FOSSATI 190 ROSE ROSSE MOGOL 220 CANTA TITOLO NOME_DI_ARTE EDIZIONE_FESTIVAL POSIZIONE PUNTI INGAGGIO BIG ALBA CHIARA VASCO 2 4 25.000 SI CERTE NOTTI LIGABUE 1 10 15.000 LA VITA ALISA 5.000 NO ROSE ROSSE RANIERI 8 40.000

25 Query 1 Si visualizzino tutte le canzoni che hanno una durata compresa tra 3'30'' e 4’ (espressi in secondi) Canzone (Titolo, Testo, Primo_Autore, durata) Cantante (Nome_di_Arte, Numero_Dischi_venduti) Canta (Titolo, Nome_di_Arte, Edizione_Festival, Posizione, Punti, Ingaggio, Big)

26 Query 1 Si visualizzino tutte le canzoni che hanno una durata compresa tra 3'30'' e 4’ SELECT canzone.Titolo FROM Canzone WHERE canzone.durata between 210 and 240;

27 Query 2 Si visualizzino ed inoltre si contino tutte le canzoni cantate dai big nella 2 edizione Canzone (Titolo, Testo, Primo_Autore, durata) Cantante (Nome_di_Arte, Numero_Dischi_venduti) Canta (Titolo, Nome_di_Arte, Edizione_Festival, Posizione, Punti, Ingaggio, Big)

28 Query 2 Si visualizzino tutte le canzoni cantate dai big nella 2 edizione SELECT canta.Titolo FROM canta WHERE canta.Edizione_Festival = 2 and canta.Big = “si”;

29 Query 2.1 Si contino tutte le canzoni cantate dai big nella 2 edizione
SELECT count(*) as ‘numero canzoni dei big’ FROM canta WHERE canta.Edizione_Festival = 2 and canta.Big = “si”;

30 Query 3 Si contino tutte le canzoni cantate dai big per ogni edizione
Canzone (Titolo, Testo, Primo_Autore, durata) Cantante (Nome_di_Arte, Numero_Dischi_venduti) Canta (Titolo, Nome_di_Arte, Edizione_Festival, Posizione, Punti, Ingaggio, Big)

31 Query 3 Si contino tutte le canzoni cantate dai big per ogni edizione
SELECT Edizione_Festival, COUNT(*) AS “Canzoni dei BIG” FROM Canta WHERE canta.Big = ‘si’ GROUP BY canta.Edizione_Festival

32 Query 4 Si visualizzi la classifica delle nuove proposte della 2 edizione Canzone (Titolo, Testo, Primo_Autore, durata) Cantante (Nome_di_Arte, Numero_Dischi_venduti) Canta (Titolo, Nome_di_Arte, Edizione_Festival, Posizione, Punti, Ingaggio, Big)

33 Query 4 Si visualizzi la classifica dei big della 2 edizione
SELECT canta.Titolo, canta.Nome_di_Arte, canta.Posizione FROM canta WHERE canta.Edizione_Festival = 2 and canta.Big = ‘si’ ORDER BY canta.Posizione;

34 Query 5 Si visualizzino i dischi venduti dai partecipanti alla 2 edizione del Festival come nuove proposte Canzone (Titolo, Testo, Primo_Autore, durata) Cantante (Nome_di_Arte, Numero_Dischi_venduti) Canta (Titolo, Nome_di_Arte, Edizione_Festival, Posizione, Punti, Ingaggio, Big)

35 Query 5 Si visualizzino i dischi venduti dai partecipanti alla 2 edizione del Festival come nuove proposte SELECT Cantante.Nome_di_Arte, cantante.Numero_Dischi_Venduti FROM Canta, Cantante WHERE canta.nome_di_arte = cantante.nome_di_arte AND canta.Big=‘no’ AND canta.Edizione_Festival=52

36 Query 6 Si visualizzino autori e titoli di tutte le canzone che hanno vinto un Festival Canzone (Titolo, Testo, Primo_Autore, durata) Cantante (Nome_di_Arte, Numero_Dischi_venduti) Canta (Titolo, Nome_di_Arte, Edizione_Festival, Posizione, Punti, Ingaggio, Big)

37 Query 6 Si visualizzino autori e titoli di tutte le canzone che hanno vinto un Festival SELECT Canzone.Titolo, Primo_Autore FROM Canzone, Canta WHERE Canzone.Titolo = Canta.Titolo AND canta.Posizione = 1 

38 IMPIEGATI IN AZIENDA

39 Schema relazionale Impiegato (Codice, Nome, Cognome, Salario, Qualifica) Progetto (ID, Nome, Descrizione, Budget) Partecipa (Codice_Impiegato, ID_Progetto, Data_Inizio, Data_Fine)

40 Query 1 Si visualizzino tutti gli Impiegati che guadagnano al massimo euro annui Impiegato (Codice, Nome, Cognome, Salario, Qualifica) Progetto (ID, Nome, Descrizione, Budget) Partecipa (Codice_Impiegato, ID_Progetto, Data_Inizio, Data_Fine)

41 Query 1 Si visualizzino tutti gli Impiegati che guadagnano al massimo euro annui SELECT Codice, Nome, Cognome FROM Impiegato WHERE Salario<=40000;

42 Query 2 Si visualizzino tutti i progetti con budget compreso tra e euro Impiegato (Codice, Nome, Cognome, Salario, Qualifica) Progetto (ID, Nome, Descrizione, Budget) Partecipa (Codice_Impiegato, ID_Progetto, Data_Inizio, Data_Fine)

43 Query 2 Si visualizzino tutti i progetti con budget compreso tra e euro SELECT ID, Nome FROM Progetto WHERE budget >= and budget <= 30000;

44 Query 2.1 Si contino tutti i progetti con budget compreso tra e euro Impiegato (Codice, Nome, Cognome, Salario, Qualifica) Progetto (ID, Nome, Descrizione, Budget) Partecipa (Codice_Impiegato, ID_Progetto, Data_Inizio, Data_Fine)

45 Query 2 Si visualizzino ed inoltre si contino tutte i progetti con budget compreso tra e euro SELECT COUNT(*) FROM Progetto WHERE budget >= and budget <= 30000;

46 Query 3 Si visualizzi in ordine rispetto alla data di inizio ed a parità di data di inizio rispetto alla data di fine tutti i progetti che sono finiti Impiegato (Codice, Nome, Cognome, Salario, Qualifica) Progetto (ID, Nome, Descrizione, Budget) Partecipa (Codice_Impiegato, ID_Progetto, Data_Inizio, Data_Fine)

47 Query 3 Si visualizzi in ordine rispetto alla data di inizio ed a parità di data di inizio rispetto alla data di fine tutti i progetti che sono finiti SELECT ID, Nome, Data_Inizio, Data_Fine FROM Progetto WHERE Data_Fine is not NULL ORDER BY Data_Inizio, Data_Fine;

48 Fine 1ª parte Unità svolte nel modulo
LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA


Scaricare ppt "COME SI CREA UNA TABELLA CON UNA CHIAVE ESTERNA"

Presentazioni simili


Annunci Google