Déroulement réel des cours

La « pensée » du samedi 20 avril 2019, 03h01m41s :
J'ai le pied gauche qui est jaloux du pied droit. Quand j'avance le pied droit, le pied gauche, qui ne veut pas rester en arrière... passe devant... le pied droit en fait autant... et moi... comme un imbécile... je marche.
  -- Raymond Devos
1 : semaine du lendi 24 septemb' 2007
 Cours n°1 (Cumul=2h) : [Voir le CM n°1]
 TD n°1 (Cumul=3,5h) : [Voir le TD n°1]
2 : semaine du lendi 1 octob' 2007
 Cours n°2 (Cumul=4h) : [Voir le CM n°2]
 TD n°2 (Cumul=7h) : [Voir le TD n°2]
3 : semaine du lendi 8 octob' 2007
 Cours n°3 (Cumul=6h) : [Voir le CM n°3]
 TD n°3 (Cumul=10,5h) : [Voir le TD n°3]
4 : semaine du lendi 15 octob' 2007
 Cours n°4 (Cumul=8h) : [Voir le CM n°4]
 TD n°4 (Cumul=14h) : [Voir le TD n°4]
5 : semaine du lendi 22 octob' 2007
 Cours n°5 (Cumul=10h) : [Voir le CM n°5]
 TD n°5 (Cumul=17,5h) : [Voir le TD n°5]
6 : semaine du lendi 29 octob' 2007
 Cours n°6 (Cumul=12h) :
  • Contrôle n°2.
  • Exercices de modification sur la base Teniraq.
    1. Le dimanche 16 septembre 2007, le joueur de badge 142 a battu le joueur 271, à 15h00, par 7 à 2. Enregistrer ce match dans la table matchs. Mettre à jour la table joueurs.
      INSERT INTO matchs VALUES (  1+(SELECT MAX(codematchs) FROM matchs),
       142,271,
       '16/09/2007',15,
       7,2 ) ;
      UPDATE joueurs SET  pointsdefis=pointsdefis+(7-2)+1
       WHERE numbadge=142 ;
      UPDATE joueurs SET  pointsdefis=pointsdefis+1
       WHERE numbadge=271 ;
    2. Le dimanche 23 septembre 2007 à 17h00 le joueur de badge 47 (né le 30/09/1959) et le joueur 102 (né le 04/10/1940), ont fait match nul, 4 à 4. Enregistrer ce match dans la table matchs. Mettre à jour la table joueurs.
      INSERT INTO matchs VALUES (  1+(SELECT MAX(codematchs) FROM matchs),
       47,102,
       '23/09/2007',17,
       4,4 ) ;
      UPDATE joueurs SET  pointsdefis=pointsdefis+1
       WHERE numbadge=47 ;
      UPDATE joueurs SET  pointsdefis=pointsdefis+1
       WHERE numbadge=102 ;
    3. Un adhérent, muni de son badge qui porte le numéro 15, vient d'entrer dans le club aujourd'hui. Enregistrer cette entrée.
      INSERT INTO acces VALUES(5,NOW()) ;
    4. L'adhérent de badge 25 réserve pour demain un créneau de jeu à 10h sur le court B, pour lui et pour l'adhérent de badge 58. Enregistrer cette réservation.
      INSERT INTO reservations VALUES(
       1+(SELECT MAX(codereservations) FROM reservations),
       25,58,'B',CURRENT_DATE+1,10,NULL
       ) ;
    5. Des erreurs se sont produites dans le calcul des points défis. Refaire les calculs et mettre à jour.
      UPDATE  joueurs
      SET  pointsdefis  =  COALESCE(  (SELECT  SUM(scorevainqueur-scoreperdant+1)
               FROM matchs
               WHERE refvainqueur=numbadge)
             ,0)
         +    (SELECT  COUNT(*)
               FROM matchs
               WHERE refperdant=numbadge) ;
    6. Le joueur dont le badge est 65 vient de payer sa cotisation. Mettre à jour la table joueurs avec une requête qui pourra être appliquée sans se soucier de l'état actuel de son adhésion
      UPDATE  joueurs
      SET  inscritjusque =  CASE  WHEN  inscritjusque<CURRENT_DATE
             THEN CURRENT_DATE+'1 year'::INTERVAL
           ELSE  inscritjusque+'1 year'::INTERVAL
         END
      WHERE  numbadge=65
    7. Une erreur s'est produite dans la table villes : il y a deux enregistrements pour la ville de Lesquin, l'un avec le code postal (59810), l'autre avec le code postal 59610 (c'est une erreur). Corriger.
      UPDATE  voiries
      SET  codepostal='59810'
      WHERE  codepostal='59610';
      DELETE FROM  villes
      WHERE  codepostal='59610' ;
  • Suite des exercices sur la base Teniraq.
    1. Un vol a été commis dans la salle dans la soirée du 26 septembre 2007. Afficher la liste des joueurs (nom, prénom, accès) qui sont entrés ce jour là après 17 heures. (6 lignes.)
      SELECT  nom,prenom,instantacces
      FROM  joueurs j,badges b,acces
      WHERE  j.numbadge=b.numbadge
      AND  b.numbadge=refbadge
      AND  EXTRACT(HOUR FROM instantacces)>=17
      AND  instantacces::DATE='26-09-2007'
      ORDER BY  3 ;
    2. Afficher la liste des matchs qui se sont déroulés le 1er septembre 2007, sous la forme « Michel DUPOND a battu Marcel DURANT par 5 à 2, à 17 heures ». (6 lignes.)
      SELECT  v.prenom||' '||UPPER(v.nom)
       ||' a battu '||p.prenom||' '||UPPER(p.nom)
       ||' par '||scorevainqueur
       ||' à '||scoreperdant
       ||', à '||heurematch||' heures.' AS "Compte-rendu"
      FROM  matchs,badges v,badges p
      WHERE  refvainqueur=v.numbadge
      AND  refperdant=p.numbadge
      AND  datematch='2007-09-01'
      ORDER BY  heurematch ;
    3. Liste des joueurs (nom, prénom, numéro de badge) qui ont le même classement officiel que Kimberley TARTINN. (14 lignes.)
      SELECT  b.nom,b.prenom,b.numbadge
      FROM  joueurs j, joueurs jef,badges b,badges bef
      WHERE  b.numbadge=j.numbadge
      AND  bef.numbadge=jef.numbadge
      AND  j.classementofficiel=jef.classementofficiel
      AND  LOWER(bef.nom)='tartinn'
      AND  LOWER(bef.prenom)='kimberley'
      ORDER  BY 1,2,3 ;
    4. Nom, prénom et numéro de badge du (des) joueur(s) qui a (ont) le meilleur score en matchs défis. (Ne pas utiliser de vues.) (168 lignes.)
       SELECT  nom,prenom,numbadge
       FROM  badges,matchs
       WHERE  refvainqueur=numbadge
       AND  scorevainqueur=(SELECT MAX(scorevainqueur) FROM matchs)
      UNION
       SELECT  nom,prenom,numbadge
       FROM  badges,matchs
       WHERE  refperdant=numbadge
       AND  scoreperdant=(SELECT MAX(scorevainqueur) FROM matchs)
      ORDER BY  1,2,3 ;
    5. Afficher le nom et le prénom du (des) joueur(s) le(s) plus âgé(s) qui a (ont) joué en matchs défis. (Ne pas utiliser de vues.) (1 ligne.)
      SELECT DISTINCT  nom,prenom,j.numbadge
      FROM  badges b,matchs,joueurs j
      WHERE  j.numbadge=b.numbadge
      AND  (refvainqueur=j.numbadge
      OR  refperdant=j.numbadge)
      AND  datenaiss=(
         SELECT  MIN(datenaiss)
         FROM  joueurs,matchs
         WHERE  refvainqueur=numbadge
         OR  refperdant=numbadge
       ) ;
    6. Nombre de joueurs par catégorie. (2 lignes.)
      SELECT  nomcategorie, COUNT(*)
      FROM  joueurs,categories
      WHERE  EXTRACT(YEAR FROM AGE(CURRENT_DATE,datenaiss)) >= agemini
      AND  EXTRACT(YEAR FROM AGE(CURRENT_DATE,datenaiss)) < agemaxi
      GROUP BY  nomcategorie,agemini
      ORDER BY  agemini ;
Dernière modification : 25/8/2016
 TD n°6 (Cumul=21h) : [Voir le TD n°6]
7 : semaine du lendi 5 novemb' 2007
 Cours n°7 (Cumul=14h) : [Voir le CM n°7]
 TD n°7 (Cumul=24,5h) : [Voir le TD n°7]
8 : semaine du lendi 12 novemb' 2007
 Cours n°8 (Cumul=16h) : [Voir le CM n°8]
 TD n°8 (Cumul=27,5h) : [Voir le TD n°8]
9 : semaine du lendi 19 novemb' 2007
 Cours n°9 (Cumul=18h) : [Voir le CM n°9]
 TD n°9 (Cumul=30,5h) : [Voir le TD n°9]
10 : semaine du lendi 26 novemb' 2007
 TD n°10 (Cumul=33,5h) : [Voir le TD n°10]
11 : semaine du lendi 3 décemb' 2007
 TD n°11 (Cumul=36,5h) : [Voir le TD n°11]
12 : semaine du lendi 10 décemb' 2007
 TD n°12 (Cumul=39,5h) : [Voir le TD n°12]
Dernière modification : 25/8/2016