Modèle conceptuel de données (MPD) :
Modèle conceptuel de données (MCD) :
Modèle logique de données textuel (MCD) :
Etudiant = (id INT, nom VARCHAR(50), prenom VARCHAR(50));
Matiere = (id INT, nom_matiere VARCHAR(50), coefficient INT);
Semestre = (id INT, numero INT);
Annee_Universitaire = (id INT, annee_debut DATE, annee_fin DATE);
Type_Lieu_Examen = (id INT, type VARCHAR(50));
Statut = (id INT, intitule VARCHAR(50));
Surveillant = (id INT, nom VARCHAR(50), prenom VARCHAR(50), statut VARCHAR(50), #id_Statut);
Session = (id INT, type_session VARCHAR(50), #id_Annee_Universitaire);
LieuExamen = (id INT, numero INT, capacite INT, #id_Type_Lieu_Examen);
Examen = (id INT, date_heure DATETIME, #id_LieuExamen, #id_Session, #id_Semestre*, #id_Surveillant, #id_Matiere);
Participation = (#id_Etudiant, #id_Examen, note DECIMAL(2,2));
Modèle physique de données (MPD) :
Code SQL :
CREATE TABLE Etudiant(
id INT,
nom VARCHAR(50),
prenom VARCHAR(50),
PRIMARY KEY(id)
);
CREATE TABLE Matiere(
id INT,
nom_matiere VARCHAR(50),
coefficient INT,
PRIMARY KEY(id)
);
CREATE TABLE Semestre(
id INT,
numero INT,
PRIMARY KEY(id)
);
CREATE TABLE Annee_Universitaire(
id INT,
annee_debut DATE,
annee_fin DATE,
PRIMARY KEY(id)
);
CREATE TABLE Type_Lieu_Examen(
id INT,
type VARCHAR(50),
PRIMARY KEY(id)
);
CREATE TABLE Statut(
id INT,
intitule VARCHAR(50),
PRIMARY KEY(id)
);
CREATE TABLE Surveillant(
id INT,
nom VARCHAR(50),
prenom VARCHAR(50),
statut VARCHAR(50),
id_Statut INT NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY(id_Statut) REFERENCES Statut(id)
);
CREATE TABLE Session(
id INT,
type_session VARCHAR(50),
id_Annee_Universitaire INT NOT NULL,
PRIMARY KEY(id),
UNIQUE(id_Annee_Universitaire),
FOREIGN KEY(id_Annee_Universitaire) REFERENCES Annee_Universitaire(id)
);
CREATE TABLE LieuExamen(
id INT,
numero INT,
capacite INT,
id_Type_Lieu_Examen INT NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY(id_Type_Lieu_Examen) REFERENCES Type_Lieu_Examen(id)
);
CREATE TABLE Examen(
id INT,
date_heure DATETIME,
id_LieuExamen INT NOT NULL,
id_Session INT NOT NULL,
id_Semestre INT,
id_Surveillant INT NOT NULL,
id_Matiere INT NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY(id_LieuExamen) REFERENCES LieuExamen(id),
FOREIGN KEY(id_Session) REFERENCES Session(id),
FOREIGN KEY(id_Semestre) REFERENCES Semestre(id),
FOREIGN KEY(id_Surveillant) REFERENCES Surveillant(id),
FOREIGN KEY(id_Matiere) REFERENCES Matiere(id)
);
CREATE TABLE Participation(
id_Etudiant INT,
id_Examen INT,
note DECIMAL(2,2),
PRIMARY KEY(id_Etudiant, id_Examen),
FOREIGN KEY(id_Etudiant) REFERENCES Etudiant(id),
FOREIGN KEY(id_Examen) REFERENCES Examen(id)
);