USE FDE;

CREATE TABLE Operateurs(

NumOperateurs INT IDENTITY(1,1)  PRIMARY KEY,
login VARCHAR(48),
admin BIT DEFAULT 0, 
password VARCHAR(64),
Email VARCHAR(50),
Telephone VARCHAR(10),
nom VARCHAR(25),
prenom VARCHAR(20),
NomJF VARCHAR(25),
DateNaiss SMALLDATETIME,
DateEmbauche SMALLDATETIME,

);

CREATE TABLE Fonction(

NumFonction INT IDENTITY(1,1)  PRIMARY KEY,
NomFonction VARCHAR(50),

);

CREATE TABLE Methode(

numMethode INT IDENTITY(1,1)  PRIMARY KEY,
NomMethode VARCHAR(120),

NumFonction INT FOREIGN KEY REFERENCES Fonction(NumFonction)

);

CREATE TABLE Tache(
numTache INT IDENTITY(1,1)  PRIMARY KEY,
nomTache VARCHAR(150),

NumMethode INT FOREIGN KEY REFERENCES Methode(NumMethode)
);

CREATE TABLE Produit(
NumProduit INT IDENTITY(1,1)  PRIMARY KEY,
NomProduit VARCHAR(40),
Fds IMAGE,
PhraseRisque VARCHAR(150),

);

CREATE TABLE Mode(

NumMode INT IDENTITY(1,1)  PRIMARY KEY,
DescriptionMode VARCHAR(255)
);

CREATE TABLE VoieExpositions(

NumVoie INT IDENTITY(1,1)  PRIMARY KEY,
NomVoieExp VARCHAR(25)

);


CREATE TABLE UniteQ(

NumUniteQ INT IDENTITY(1,1)  PRIMARY KEY,
nomUniteQ VARCHAR(6)

);

CREATE TABLE UniteD(

NumUniteD INT IDENTITY(1,1)  PRIMARY KEY,
nomUniteD VARCHAR(6)

);


CREATE TABLE Experimentation(
NumExpo INT IDENTITY(1,1)  PRIMARY KEY,
DateExpo SMALLDATETIME,
NbRepetitionTache INT,

numTache INT FOREIGN KEY REFERENCES Tache(numTache),
NumOperateurs INT FOREIGN KEY REFERENCES Operateurs(numOperateurs)
);


CREATE TABLE Affecter(

numAffectation INT IDENTITY(1,1) PRIMARY KEY,
DateAffectation SMALLDATETIME,

NumFonction INT FOREIGN KEY REFERENCES Fonction(NumFonction),
NumOperateurs INT FOREIGN KEY REFERENCES Operateurs(NumOperateurs) 

);


CREATE TABLE ExpositionAccidentelle(

NumEA INT IDENTITY(1,1)  PRIMARY KEY,
DateEA SMALLDATETIME,
CauseEA VARCHAR(255),
ProtectionEA VARCHAR(40),
Soins VARCHAR(40),

NumOperateurs INT FOREIGN KEY REFERENCES Operateurs(NumOperateurs)
);

CREATE TABLE Concerner(

QuantitéEA INT,
DuréeEA INT,

NumProduit INT FOREIGN KEY REFERENCES Produit(NumProduit),
NumEA INT FOREIGN KEY REFERENCES ExpositionAccidentelle(NumEA),
NumUniteQ INT FOREIGN KEY REFERENCES UniteQ(NumUniteQ),
NumUniteD INT FOREIGN KEY REFERENCES UniteD(NumUniteD)

);

CREATE TABLE Utiliser(

NumTache INT FOREIGN KEY REFERENCES Tache(NumTache),
NumProduit INT FOREIGN KEY REFERENCES Produit(NumProduit)
);

CREATE TABLE Ordonner(

Quantite DECIMAL(7,2),
Duree INT ,

NumUniteQ INT FOREIGN KEY REFERENCES UniteQ(NumUniteQ),
NumUniteD INT FOREIGN KEY REFERENCES UniteD(NumUniteD),
NumVoie INT FOREIGN KEY REFERENCES VoieExpositions(NumVoie),
NumTache INT FOREIGN KEY REFERENCES Tache(NumTache),
NumProduit INT FOREIGN KEY REFERENCES Produit(NumProduit),
NumMode INT FOREIGN KEY	REFERENCES Mode(NumMode)
);

