1 Come operare quando una tabelle deve contenere
1
Come operare quando una tabelle deve contenere una chiave esterna? Ad esempio la tabella delle ASSENZE ALUNNI 1 ASSENZE N MATRICOLA (PK) MATRICOLA (FK) COGNOME DATA NOME MOTIVO CLASSE GIUSTIFICATA (S, N) SEZIONE LEGENDA PK = PRIMARY KEY FK = FOREIGN KEY 2
… UNA VOLTA INDIVIDUATO L’ATTRIBUTO IN COMUNE AD ESEMPIO: (MATRICOLA della tabella ALUNNI e MATRICOLA della tabella ASSENZE) CREIAMO LA TABELLA DELLE ASSENZE (QUESTA PUO’ PRESENTARE PIU’ RECORD PER LA STESSA MATRICOLA, INFATTI UN ALUNNO PUO’ FARE PIU’ ASSENZE) la clausola ‘FOREIGN KEY’ indica il campo della tabella delle ASSENZE (MATRICOLA) che ci permette di creare la relazione mediante, la clausola REFERENCES seguito dal nome della tabella (ALUNNI) e, quale campo della predetta tabella fungerà da relazione (MATRICOLA) al termine salviamola con un nome (ad esempio: crea tabella assenze) 3
RIASSUMENDO CREATE TABLE ALUNNI (MATRICOLA COUNTER NOT NULL, COGNOME CHAR (20), CLASSE INTEGER, SEZIONE CHAR (3), PRIMARY KEY (MATRICOLA)) I campi MATRICOLA della tabella ALUNNI e MATRICOLA della tabella ASSENZE devono essere uguali: Stessa natura e stessa lunghezza CREATE TABLE ASSENZE (MATRICOLA INTEGER, DATA DATE, MOTIVO CHAR (20), GIUSTIFICATA CHAR (2), FOREIGN KEY (MATRICOLA) REFERENCES ALUNNI (MATRICOLA)) 4
5
… la tabella ALUNNI MATRICOLA COGNOME CLASSE SEZIONE 1 BIANCHI MARIO 1 AR 2 ROSSI ALDO 1 AR 3 VERDI FRANCA 2 AR 4 GIALLI ROSA 1 AR 5 NERI ROMINA 2 AR e… la tabella ASSENZE MATRICOLA DATA MOTIVO GIUSTIFICATA 1 25/12/2012 MALATTIA SI 1 28/12/2012 FAMILIARI NO 3 22/12/2012 MALATTIA SI 2 05/01/2013 FAMILIARI SI 1 08/01/2012 SCOLASTICI SI 6
7
Come operare quando una tabelle deve contenere due o più chiavi esterne? Ad esempio la tabella delle VERIFICHE ALUNNI 1 1 ID_DOCENTE (PK) MATRICOLA (PK) COGNOME MATERIA CLASSE SEZIONE DOCENTI VERIFICHE N ID_VERIFICA (PK) MATRICOLA (FK) ID_DOCENTE (FK) N DATA LEGENDA PK = PRIMARY KEY FK = FOREIGN KEY VOTO TIPO_VERIFICA (S, O, P) Con ACCESS andremo a creare le tabelle necessarie 8
10
ID_ALUNNO COGNOME tabella ALUNNI ID_ALUNNO tabella VERIFICHE CLASSE SEZIONE 1 BIANCHI MARIO 1 AR 2 ROSSI ALDO 1 AR 3 VERDI FRANCA 2 AR 4 GIALLI ROSA 1 AR 5 NERI ROMINA 2 AR ID_DOCENTE tabella DOCENTI NOME COGNOME MATERIA 1 CATTEDRA FRANCO ITALIANO 2 DOCENTE SARA STORIA 3 MAESTRO DARIO ITALIANO ID_DOCENTE DATA VOTO TIPO_VERIFICA 1 1 01/01/2013 6 S 2 1 01/01/2013 5 S 3 2 06/01/2013 9 O 5 2 10/01/2013 4 S 4 3 07/01/2013 2 P LEZIONI DI ACCESS - I. T. C. G. T. "G. FALCONE" - ACRI - PROF. GRISOLIA 11
12
…. PER CREARE DELLE SELEZIONI, DELLE PROIEZIONI O DELLE CONGIUNZIONI COL LINGUAGGIO QL POSSIAMO UTILIZZARE LE SEGUENTI CLAUSOLE…. . 13
Obbligatorie: SELECT FROM Aggiuntive: WHERE GROUP BY COUNT DISTINCT BETWEEN ECC…. . 14
LEZIONI DI ACCESS - I. T. C. G. T. "G. FALCONE" - ACRI - PROF. GRISOLIA 15
Primo esercizio Clicca per vedere la soluzione … 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) Secondo esercizio APRIAMO UNA QUERY VUOTA (COME DESCRITTO IN PRECEDENZA) Clicca per vedere la soluzione SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECT ALUNNI. COGNOME, ALUNNI. NOME FROM ALUNNI WHERE ALUNNI. CLASSE = = [INSERISCI CLASSE] ANDAND WHERE [INSERISCI CLASSE] ALUNNI. SEZIONE = [INSERISCI SEZIONE] E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Cognome e Nome per classe) LEZIONI DI ACCESS - I. T. C. G. T. "G. FALCONE" - ACRI - PROF. GRISOLIA 16
Terzo esercizio … OPERIAMO NEL SEGUENTE MODO: Clicca per vedere la soluzione 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 FROMALUNNI GROUPBY BYALUNNI. CLASSE, ALUNNI. SEZIONE, ALUNNI. COGNOME, ALUNNI. NOME GROUP E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Raggruppati per Cognome e Nome) Quarto esercizio APRIAMO UNA QUERY VUOTA (COME DESCRITTO IN PRECEDENZA) - Clicca per vedere la soluzione 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) LEZIONI DI ACCESS - I. T. C. G. T. "G. FALCONE" - ACRI - PROF. GRISOLIA 17
LEZIONI DI ACCESS - I. T. C. G. T. "G. FALCONE" - ACRI - PROF. GRISOLIA 18
Primo esercizio Clicca per vedere la soluzione … 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. MATRICOLA = ASSENZE. MATRICOLA_ALUNN O e SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Alunni assenti) Secondo esercizio Clicca per vedere la soluzione APRIAMO UNA QUERY VUOTA - SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECTDISTINCTALUNNI. COGNOME, ALUNNI. NOME SELECT FROMALUNNI, ASSENZE FROM WHEREALUNNI. MATRICOLA==ASSENZE. MATRICOLAAND WHERE ASSENZE. GIUSTIFICATA=='SI' ASSENZE. GIUSTIFICATA E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Assenze giustificate) LEZIONI DI ACCESS - I. T. C. G. T. "G. FALCONE" - ACRI - PROF. GRISOLIA 19
Terzo esercizio … OPERIAMO NEL SEGUENTE MODO: Clicca per vedere la soluzione APRIAMO UNA QUERY VUOTA SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECTALUNNI. COGNOME, COUNT(*)AS AS'NUMEROASSENZE' SELECT FROMALUNNI, ASSENZE FROM WHEREALUNNI. MATRICOLA= =ASSENZE. MATRICOLA WHERE GROUPBY BYALUNNI. COGNOME GROUP e SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Numero assenze) Quarto esercizio APRIAMO UNA QUERY VUOTA - SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECT DISTINCT ALUNNI. COGNOME, ALUNNI. NOME Clicca per vedere la soluzione SELECT DISTINCT ALUNNI. COGNOME, ALUNNI. NOME FROM ALUNNI, ASSENZE WHERE ALUNNI. MATRICOLA = ASSENZE. MATRICOLA AND ASSENZE. DATA BETWEEN [DATA INIZIO] AND [DATA FINE] E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Assenze del periodo) LEZIONI DI ACCESS - I. T. C. G. T. "G. FALCONE" - ACRI - PROF. GRISOLIA 20
LEZIONI DI ACCESS - I. T. C. G. T. "G. FALCONE" - ACRI - PROF. GRISOLIA 21
Primo esercizio Clicca per vedere la soluzione … 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, VERIFICHE, DOCENTI SELECT DISTINCT ALUNNI. COGNOME, ALUNNI. NOME WHERE ALUNNI. MATRICOLA = VERIFICHE. MATRICOLA AND FROM ALUNNI, ASSENZE DOCENTI. ID_DOCENTI = VERIFICHE. ID_DOCENTE AND WHERE DOCENTI. MATERIA ALUNNI. MATRICOLA = ASSENZE. MATRICOLA_ALUNN = 'ITALIANO' AND O VERIFICHE. VOTO >5 e SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Italiano maggiore di 5) Secondo esercizio APRIAMO UNA QUERY VUOTA - SCRIVIAMO … Clicca per vedere la soluzione SELECT DOCENTI. MATERIA, COUNT(*) AS 'NUMERO VERIFICHE' FROM ALUNNI, VERIFICHE, DOCENTI WHERE ALUNNI. MATRICOLA = VERIFICHE. MATRICOLA AND = VERIFICHE. ID_DOCENTE AND SELECT DOCENTI. ID_DOCENTI DISTINCT ALUNNI. COGNOME, ALUNNI. NOME DOCENTI. MATERIA = 'ITALIANO' AND FROM ALUNNI, ASSENZE CLASSE] AND WHERE ALUNNI. CLASSE ALUNNI. MATRICOLA==[INSERISCI ASSENZE. MATRICOLA ALUNNI. SEZIONE = [INSERISCI SEZIONE] ASSENZE. GIUSTIFICATA = 'SI' GROUP BY DOCENTI. MATERIA E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Materia e numero verifiche) LEZIONI DI ACCESS - I. T. C. G. T. "G. FALCONE" - ACRI - PROF. GRISOLIA 22
Terzo esercizio … OPERIAMO NEL SEGUENTE MODO: Clicca per vedere la soluzione APRIAMO UNA QUERY VUOTA SCRIVIAMO I COMANDI (o clausole) SQL NECESSARI/E (AD ESEMPIO) SELECT ALUNNI. COGNOME, ALUNNI. NOME, VERIFICHE. VOTO FROM ALUNNI, VERIFICHE, DOCENTI SELECT ALUNNI. COGNOME, =ALUNNI. NOME WHERE DISTINCT ALUNNI. MATRICOLA VERIFICHE. MATRICOLA AND FROM ALUNNI, ASSENZE DOCENTI. ID_DOCENTI = VERIFICHE. ID_DOCENTE AND WHERE ALUNNI. MATRICOLA DOCENTI. MATERIA = ASSENZE. MATRICOLA_ALUNN = [INSERISCI MATERIA] AND O VERIFICHE. TIPO_VERIFICA = 'S' e SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Alunni e voti in una materia) Quarto esercizio APRIAMO UNA QUERY VUOTA - SCRIVIAMO … Clicca per vedere la soluzione SELECT ALUNNI. COGNOME, ALUNNI. NOME, DOCENTI. COGNOME, DOCENTI. MATERIA SELECT DISTINCT ALUNNI. COGNOME, FROM ALUNNI, VERIFICHE, DOCENTI ALUNNI. NOME FROM ALUNNI, ASSENZE WHERE ALUNNI. MATRICOLA = VERIFICHE. MATRICOLA AND WHERE ALUNNI. MATRICOLA = ASSENZE. MATRICOLA AND DOCENTI. ID_DOCENTI = VERIFICHE. ID_DOCENTE AND ASSENZE. GIUSTIFICATA = 'SI' = [INSERISCI TIPO VERIFICA: S, P o O] VERIFICHE. TIPO_VERIFICA E SALVIAMO CON UN NOME APPROPRIATO (AD ESEMPIO Alunni docenti e materia per tipo verifica) LEZIONI DI ACCESS - I. T. C. G. T. "G. FALCONE" - ACRI - PROF. GRISOLIA 23
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
TABELLA CANTANTE Nome campo Formato Dimensione Nome_di_arte Carattere 20 Numero_dischi_venduti Numerico 8 Chiave Primaria Formato Dimensione Titolo Carattere 20 Testo Memo Primo_autore Carattere 20 Durata Numerico 4 Chiave Note Primaria In secondi TABELLA CANTA Nome campo Formato Dimensione Chiave Titolo Carattere 20 Esterna Nome_di_arte Carattere 20 Esterna Edizione_festival Numerico 3 Posizione Numerico 2 Punti Numerico 2 Ingaggio Valuta 7 Big Carattere 2 Note Si oppure NO Schema relazionale: 2) livello logico e fisico TABELLA CANZONE Nome campo Note
Popoliamo le tabelle con i seguenti dati: CANTANTE NOME_DI_AR TE NUMERO_DISCHI_ VENDUTI ARISA 100. 000 CANZONE TITOLO TESTO PRIMO_AUTORE DURATA ALBA CHIARA MOGOL-VASCO 330 LIGABUE 3. 500. 000 CERTE NOTTI LIGABUE 230 RANIERI 1. 000 LA VITA FOSSATI 190 VASCO 4. 000 ROSE ROSSE MOGOL 220 CANTA TITOLO NOME_DI_ARTE EDIZIONE_ FESTIVAL POSIZIONE PUNTI INGAGGIO BIG ALBA CHIARA VASCO 2 4 4 25. 000 SI CERTE NOTTI LIGABUE 2 1 10 15. 000 SI LA VITA ALISA 2 1 10 ROSE ROSSE RANIERI 2 2 8 5. 000 NO 40. 000 SI
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 ed inoltre si contino tutte le canzoni cantate dai big nella 2 edizione • • SELECT canta. Titolo FROM canta WHERE canta. Edizione_Festival = 2 and canta. Big = “si”; ____ 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
Query 7 • L'edizione del festival più costosa, cioè quella in cui si è pagato di più i cantanti DOBBIAMO CREARE UNA NUOVA TABELLA (INTO) ED USARE LA SELECT NIDIFICATA • 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 7 • L'edizione del festival più costosa, cioè quella in cui si è pagato di più i cantanti SELECT FROM GROUP BY Edizione_Festival, sum(ingaggio) AS Somma INTO NUOVATABELLA canta Edizione_Festival; _________ SELECT FROM WHERE • . Edizione_Festival NUOVATABELLA Somma = (select max(Somma) from NUOVATABELLA; );
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 ed inoltre si contino tutte 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 ID, Nome FROM Progetto WHERE budget>=20000 and budget<=30000; 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;
Query 4 Il progetto più costoso sia come budget che come somma del salario degli impiegati che vi hanno partecipato o che vi partecipano • Impiegato (Codice, Nome, Cognome, Salario, Qualifica) • Progetto (ID, Nome, Descrizione, Budget) • Partecipa (Codice_Impiegato, ID_Progetto, Data_Inizio, Data_Fine)
Query 4 Il progetto più costoso sia come budget che come somma del salario degli impiegati che vi hanno partecipato o che vi partecipano SELECT pr. ID, sum(pr. Budget)/COUNT(*)+sum(i. Salario) AS New. Budget INTO Progetti. Budget FROM Partecipa AS pa, Progetto AS pr, Impiegato AS i WHERE pa. ID_Progetto=pr. ID and i. Codice=pa. Codice_Impiegato GROUP BY pr. ID; SELECT pr. ID, Nome, New. Budget FROM Progetti. Budget AS pb, Progetto AS pr WHERE pr. ID=pb. ID and New. Budget = (select max(New. Budget) from Progetti. Budget);
Query 5 L'impiegato che ha partecipato a più progetti • Impiegato (Codice, Nome, Cognome, Salario, Qualifica) • Progetto (ID, Nome, Descrizione, Budget) • Partecipa (Codice_Impiegato, ID_Progetto, Data_Inizio, Data_Fine)
Query 5 L'impiegato che ha partecipato a più progetti SELECT Codice_Impiegato, Count(*) AS Num. Par INTO Numero. Partecipazioni FROM Partecipa GROUP BY [Codice_Impiegato]; SELECT Codice_Impiegato FROM Numero. Partecipazioni AS np 1 WHERE NOT EXISTS (select * from Numero. Partecipazioni np 2 where np 2. Num. Par>np 1. Num. Par);
Vincoli di integrità Il salario di un impiegato è almeno di 15000 euro lordi annui Il budget di un progetto è sempre compreso tra 10000 e 100000 euro La data di fine di un progetto è sempre posteriore alla data di inizio del progetto stesso Un impiegato con qualifica "Quadro" prende sempre un salario di almeno 27500 euro lordi
L’AVVIO DI ACCESS CREARE TABELLE IN SQL SALVARE UNA TABELLA CREARE QUERY (SELECT) IN SQL SALVARE UNA QUERY LEZIONI DI ACCESS - I. T. C. G. T. "G. FALCONE" - ACRI - PROF. GRISOLIA 56
- Slides: 56