DROP TABLE IF EXISTS ELEVE;
DROP TABLE IF EXISTS PROF;
DROP TABLE IF EXISTS MATIERE;
DROP TABLE IF EXISTS DEVOIR;
DROP TABLE IF EXISTS EFFECTUER;

CREATE TABLE ELEVE
(
	noEleve INT(3) NOT NULL auto_increment,
	nomEleve VARCHAR(30),
	prenomEleve VARCHAR(30),
	classeEleve VARCHAR(20),
	PRIMARY KEY(noEleve)
);

CREATE TABLE PROF
(
	noProf INT(2) NOT NULL auto_increment,
	nomProf VARCHAR(30),
	prenomProf VARCHAR(30),
	passProf VARCHAR(30),
	PRIMARY KEY(noProf)
);

CREATE TABLE MATIERE
(
	noMatiere INT(2) NOT NULL auto_increment,
	nomMatiere VARCHAR(30),
	noProf INT(2) NOT NULL REFERENCES PROF(noProf),
	PRIMARY KEY(noMatiere)
);

CREATE TABLE DEVOIR
(
	noMatiere INT(2) NOT NULL REFERENCES MATIERE(noMatiere),
	noDevoir INT(2) NOT NULL auto_increment,
	dateDevoir DATE,
	libDevoir VARCHAR(30),
	classeConcernee VARCHAR(20),
	PRIMARY KEY(noMatiere,noDevoir)
);

CREATE TABLE EFFECTUER
(
	noEleve INT(3) NOT NULL REFERENCES ELEVE(noEleve),
	noMatiere INT(2) NOT NULL REFERENCES MATIERE(noMatiere),
	noDevoir INT(2) NOT NULL REFERENCES DEVOIR(noDevoir),
	note INT(5),
	PRIMARY KEY(noEleve,noMatiere,noDevoir)
);
