L'analyse ne sera pas présentée ici. Nous nous contenterons de donner la structure de la base.
La table ufr contient les renseignements sur les UFR :
CREATE TABLE ufr (
ufr_num INTEGER PRIMARY KEY,
ufr_nom VARCHAR(40) NOT NULL
);
La table moniteur contient les renseignements sur les moniteurs qui encadrent les séances :
CREATE TABLE moniteur (
mon_num INTEGER PRIMARY KEY,
mon_nom VARCHAR(40) NOT NULL,
mon_prenom VARCHAR(40)
);
La table salle contient les renseignements sur les salles où se déroulent les séances :
CREATE TABLE salle (
sal_num INTEGER PRIMARY KEY,
sal_nom VARCHAR(40) NOT NULL,
sal_taille INTEGER
);
La table niveau contient les renseignements sur les niveaux d'études des étudiants (licence 1ère année, etc.) :
CREATE TABLE niveau (
niv_num INTEGER PRIMARY KEY,
niv_nom VARCHAR(40) NOT NULL,
niv_ordre INTEGER NOT NULL
);
La table seance contient les renseignements sur les séances :
CREATE TABLE seance (
sea_num INTEGER PRIMARY KEY,
sea_jour INTEGER NOT NULL,
sea_mois INTEGER NOT NULL,
sea_annee INTEGER NOT NULL,
sea_debut_h INTEGER NOT NULL,
sea_debut_m INTEGER NOT NULL,
sea_fin_h INTEGER NOT NULL,
sea_fin_m INTEGER NOT NULL,
sea_moniteur INTEGER REFERENCES moniteur(mon_num),
sea_salle INTEGER REFERENCES salle(sal_num),
sea_remarque VARCHAR(200) DEFAULT ''
);
La table ville contient les renseignements sur les villes :
CREATE TABLE ville (
vil_cp VARCHAR(10) PRIMARY KEY,
vil_nom VARCHAR(40) NOT NULL
);
La table typevoirie contient les renseignements sur les types de voiries (rue, boulevard, avenue, etc.) :
CREATE TABLE typevoirie (
tvo_num INTEGER PRIMARY KEY,
tvo_nom VARCHAR(40) NOT NULL
);
La table voirie contient les renseignements sur les voiries :
CREATE TABLE voirie (
voi_num INTEGER PRIMARY KEY,
voi_type INTEGER NOT NULL REFERENCES typevoirie(tvo_num),
voi_nom VARCHAR(100) NOT NULL,
voi_cp VARCHAR(6) NOT NULL REFERENCES ville(vil_cp)
);
La table etudiant contient les renseignements sur les étudiants :
CREATE TABLE etudiant (
etu_carte VARCHAR PRIMARY KEY,
etu_nom VARCHAR(40) NOT NULL,
etu_prenom VARCHAR(40),
etu_ufr INTEGER REFERENCES ufr(ufr_num),
etu_niveau INTEGER REFERENCES niveau(niv_num),
etu_adressenum VARCHAR(10),
etu_voirie INTEGER NOT NULL REFERENCES voirie(voi_num),
etu_email VARCHAR(40),
etu_telfixe VARCHAR(20),
etu_telmobile VARCHAR(20)
);
La table inscription contient les renseignements sur les inscriptions des étudiants aux séances :
CREATE TABLE inscription (
ins_etudiant VARCHAR(20) REFERENCES etudiant(etu_carte),
ins_seance INTEGER REFERENCES seance(sea_num),
PRIMARY KEY(ins_etudiant,ins_seance)
);
La table parametre contient les renseignements sur les différents paramètres de l'application (mots de passe, etc.) :
CREATE TABLE parametre (
par_num INTEGER PRIMARY KEY,
par_nom VARCHAR(20),
par_texte VARCHAR(100),
par_valeur VARCHAR(200),
par_ordre INTEGER
);