gilles.hunault@univ-angers.fr
Exercice "2tables"
Une entreprise qui fournit des cours en Formation Continue a implémenté ses sessions de formation à l'aide des deux tables. La première table se nomme coursFC et contient un numéro de cours (qui sert de clé primaire), un titre de cours, son niveau, une indication numérique de session. On pourra supposer qu'une session correspond à un semestre. Voici les instructions SQL qui ont permis de créer la table coursFC :
DROP TABLE IF EXISTS coursFC ; CREATE TABLE coursFC ( idcours INT(4) NOT NULL , titre VARCHAR(50) NOT NULL , niveau INT(1) DEFAULT 1 NOT NULL , session INT(2) DEFAULT 1 NOT NULL , PRIMARY KEY (idcours) ) ;La deuxième table se nomme partiFC et recense les participants aux Formations Continues. Elle comporte un numéro de participant (clé primaire), le nom du participant et le numéro du cours qu'il doit suivre. Ce numéro doit correspondre, bien sûr, au champ idcours de la table coursFC. Voici les instructions SQL qui ont permis de créer la table partiFC :
DROP TABLE IF EXISTS partiFC ; CREATE TABLE partiFC ( idparti INT(6) NOT NULL , nomparti VARCHAR(50) NOT NULL , numcours INT(4) NOT NULL , PRIMARY KEY (idparti) ) ;Remplissage des tables
# les cours de formation continue INSERT INTO coursFC (idcours,titre,niveau,session) VALUES (1,"Initiation Perl",1,1) ; INSERT INTO coursFC (idcours,titre,niveau,session) VALUES (2,"Initiation Perl",2,2) ; INSERT INTO coursFC (idcours,titre,niveau,session) VALUES (3,"Perl approfondi",2,2) ; INSERT INTO coursFC (idcours,titre,niveau,session) VALUES (4,"Initiation Ruby",1,2) ; INSERT INTO coursFC (idcours,titre,niveau,session) VALUES (5,"Programmation C",1,1) ; INSERT INTO coursFC (idcours,titre,niveau,session) VALUES (6,"Programmation C",2,2) ; INSERT INTO coursFC (idcours,titre,niveau,session) VALUES (7,"Programmation Java",1,1) ; INSERT INTO coursFC (idcours,titre,niveau,session) VALUES (8,"Programmation Java",2,2) ; INSERT INTO coursFC (idcours,titre,niveau,session) VALUES (9,"Initiation Rexx",1,2) ; # les participants à la formation continue INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (1,"Zelig",1) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (2,"Massenat",1) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (3,"Romaleur",2) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (4,"Kentynne",1) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (5,"Ourbecos",3) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (6,"Dupont",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (7,"Martin",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (8,"Durand",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (9,"Valrejan",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (10,"Bounette",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (11,"Callouin",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (12,"Smith",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (13,"Doe",6) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (14,"Stargoth",6) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (15,"Closerer",6) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (16,"Fromentineur",6) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (17,"Sabotageur",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (18,"Sabrinajel",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (19,"Rabougret",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (20,"Lelievre",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (21,"Parker",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (22,"Jaroud",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (23,"Valha",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (24,"Danieljocksan",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (25,"Abygibbs",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (26,"Dinozarella",5) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (27,"Sensodune",1) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (28,"Temperince",1) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (29,"Ritintin",1) ; INSERT INTO partiFC (idparti,nomparti,numcours) VALUES (30,"Meredith",5) ;Contenu des tables
TABLE coursFC +---------+--------------------+--------+---------+ | idcours | titre | niveau | session | +---------+--------------------+--------+---------+ | 1 | Initiation Perl | 1 | 1 | | 2 | Initiation Perl | 2 | 2 | | 3 | Perl approfondi | 2 | 2 | | 4 | Initiation Ruby | 1 | 2 | | 5 | Programmation C | 1 | 1 | | 6 | Programmation C | 2 | 2 | | 7 | Programmation Java | 1 | 1 | | 8 | Programmation Java | 2 | 2 | | 9 | Initiation Rexx | 1 | 2 | +---------+--------------------+--------+---------+ TABLE partiFC +---------+---------------+----------+ | idparti | nomparti | numcours | +---------+---------------+----------+ | 1 | Zelig | 1 | | 2 | Massenat | 1 | | 3 | Romaleur | 2 | | 4 | Kentynne | 1 | | 5 | Ourbecos | 3 | | 6 | Dupont | 5 | | 7 | Martin | 5 | | 8 | Durand | 5 | | 9 | Valrejan | 5 | | 10 | Bounette | 5 | | 11 | Callouin | 5 | | 12 | Smith | 5 | | 13 | Doe | 6 | | 14 | Stargoth | 6 | | 15 | Closerer | 6 | | 16 | Fromentineur | 6 | | 17 | Sabotageur | 5 | | 18 | Sabrinajel | 5 | | 19 | Rabougret | 5 | | 20 | Lelievre | 5 | | 21 | Parker | 5 | | 22 | Jaroud | 5 | | 23 | Valha | 5 | | 24 | Danieljocksan | 5 | | 25 | Abygibbs | 5 | | 26 | Dinozarella | 5 | | 27 | Sensodune | 1 | | 28 | Temperince | 1 | | 29 | Ritintin | 1 | | 30 | Meredith | 5 | +---------+---------------+----------+
Retour à la page principale de (gH)