CREATE TABLE dipartimento (
	Codice CHAR(2) PRIMARY KEY,
 	Nome VARCHAR,
 	Sede VARCHAR,
 	Direttore INTEGER
);

CREATE TABLE impiegato (
	Matricola INTEGER PRIMARY KEY,
 	Cognome VARCHAR,
 	Stipendio INTEGER,
 	Dipartimento CHAR(2),
 	FOREIGN KEY(Dipartimento) REFERENCES dipartimento(Codice)
);

CREATE TABLE progetto (
	Sigla VARCHAR PRIMARY KEY,
	Nome VARCHAR NOT NULL,
	Bilancio INTEGER,
	Responsabile INTEGER,
	FOREIGN KEY(Responsabile) REFERENCES impiegato(Matricola)
);

CREATE TABLE partecipazione (
	Impiegato INTEGER NOT NULL,
	Progetto VARCHAR NOT NULL,
 	PRIMARY KEY(Impiegato,Progetto),
	FOREIGN KEY(Impiegato) REFERENCES impiegato(Matricola),
	FOREIGN KEY(Progetto) REFERENCES progetto(Sigla)
);


INSERT INTO dipartimento VALUES('NO','Nord','Milano',101);
INSERT INTO dipartimento VALUES('SU','Sud','Napoli',201);
INSERT INTO dipartimento VALUES('IS','Isole','Palermo',301);

INSERT INTO impiegato VALUES(101,'Sili',60,'NO');
INSERT INTO impiegato VALUES(102,'Rossi',40,'NO');
INSERT INTO impiegato VALUES(103,'Neri',40,'NO');
INSERT INTO impiegato VALUES(201,'Neri',40,'SU');
INSERT INTO impiegato VALUES(202,'Verdi',50,'SU');
INSERT INTO impiegato VALUES(301,'Bisi',70,'IS');

ALTER TABLE dipartimento ADD FOREIGN KEY (Direttore) REFERENCES impiegato(Matricola);

INSERT INTO progetto VALUES('Alpha','Vendite',30,202);
INSERT INTO progetto VALUES('Beta','Inventario',50,301);
INSERT INTO progetto VALUES('Gamma','Distribuzione',18,301);

INSERT INTO partecipazione VALUES(101,'Alpha');
INSERT INTO partecipazione VALUES(101,'Beta');
INSERT INTO partecipazione VALUES(103,'Alpha');
INSERT INTO partecipazione VALUES(103,'Beta');
INSERT INTO partecipazione VALUES(201,'Beta');
INSERT INTO partecipazione VALUES(202,'Beta');