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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
… 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
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
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
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
Festival di Sanremo
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)
Festival di Sanremo Schema relazionale: 1) livello concettuale
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
NUMERO_DISCHI_VENDUTI Popoliamo le tabelle con i seguenti dati: CANTANTE NOME_DI_ARTE NUMERO_DISCHI_VENDUTI ARISA 100.000 LIGABUE 3.500.000 RANIERI 1.000.000 VASCO 4.000.000 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
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)
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;
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)
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”;
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”;
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)
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
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)
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;
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)
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
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)
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
IMPIEGATI IN AZIENDA
Schema relazionale Impiegato (Codice, Nome, Cognome, Salario, Qualifica) Progetto (ID, Nome, Descrizione, Budget) Partecipa (Codice_Impiegato, ID_Progetto, Data_Inizio, Data_Fine)
Query 1 Si visualizzino tutti gli Impiegati che guadagnano al massimo 40000 euro annui Impiegato (Codice, Nome, Cognome, Salario, Qualifica) Progetto (ID, Nome, Descrizione, Budget) Partecipa (Codice_Impiegato, ID_Progetto, Data_Inizio, Data_Fine)
Query 1 Si visualizzino tutti gli Impiegati che guadagnano al massimo 40000 euro annui SELECT Codice, Nome, Cognome FROM Impiegato WHERE Salario<=40000;
Query 2 Si visualizzino tutti i progetti con budget compreso tra 20000 e 30000 euro Impiegato (Codice, Nome, Cognome, Salario, Qualifica) Progetto (ID, Nome, Descrizione, Budget) Partecipa (Codice_Impiegato, ID_Progetto, Data_Inizio, Data_Fine)
Query 2 Si visualizzino tutti i progetti con budget compreso tra 20000 e 30000 euro SELECT ID, Nome FROM Progetto WHERE budget >= 20000 and budget <= 30000;
Query 2.1 Si contino tutti i progetti con budget compreso tra 20000 e 30000 euro Impiegato (Codice, Nome, Cognome, Salario, Qualifica) Progetto (ID, Nome, Descrizione, Budget) Partecipa (Codice_Impiegato, ID_Progetto, Data_Inizio, Data_Fine)
Query 2 Si visualizzino ed inoltre si contino tutte i progetti con budget compreso tra 20000 e 30000 euro SELECT COUNT(*) FROM Progetto WHERE budget >= 20000 and budget <= 30000;
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)
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;
Fine 1ª parte Unità svolte nel modulo LEZIONI DI ACCESS - I.T.C.G.T. "G. FALCONE" - ACRI - PROF. GRISOLIA