ESERCIZIO:
Progettare un database che permetta la gestione dei dati dei vari progetti scolastici a
cui partecipano varie scuole. Ad ogni progetto possono aderire più scuole e una
scuola può avere più progetti. Ogni progetto ha un docente referente per un periodo di
tempo.
SCHEMA ER:
1) scuole (codscuola, nome, città, indirizzo, tipo)
2) docenti (coddoc, cognome, nome, datanasc, indirizzo, città, tel)
3) progetti (codprog, nome, tipo, datainizio, datafine)
4) referenti (codref, coddoc, codprog, datainizio, datafine)
5) adesioni (codades, codscuola, codprog, dataadesione)
1:2  1:N
1:3  N:N  1:5 – 1:N
1:4  /
2:3  N:N  2:4 – 1:N
2:5 – 1:N
3:4 – 1:N
CREATE TABLE adesioni
(codades char (5),
codscuola char (5),
codprog char (5),
dataadesione date,
codades is primary key,
codscuola is foreign key references scuole
on delete no action
on update no action,
codprog is foreign key references progetti
on delete no action
on update no action);
INSERIAMO UNA RIGA NELLA TABELLA PROGETTI:
INSERT INTO progetti (codprog, nome, tipo, datainizio, datafine)
VALUES (“p0001”, “abc_digital”, “informatico”, “1/10/2014”, “15/06/2015”);
AGGIORNARE IL NOME DALLA RIGA INSERITA RICHIEDENDO I DATI
ALL’UTENTE:
UPDATE progetti
SET progetti.nome=[“Inserisci il nome che vuoi modificare”]
WHERE progetti.codprog=[“Inserisci il codice”];
CANCELLARE LA RIGA INSERITA:
DELETE FROM progetti
WHERE progetti.codprog=”p0001”;
VISUALIZZARE NOME E COGNOME DEL REFERENTE DEL PROGETTO
“abc_digital” O “alternanza”:
SELECT docenti.nome, docenti.cognome, progetto.nome
FROM docenti, referenti, progetti
WHERE docenti.coddoc=referenti.coddoc AND referenti.codprog=progetti.codprog
AND progetti.nome= “abc_digital” OR progetti.nome= “alternanza”;
VISUALIZZARE TUTTI I PROGETTI CON NOME CHE COMINCIA PER A:
SELECT progetti.*
FROM progetti
WHERE progetti.nome LIKE “A*”;