logo Pierre AULAS
Php/MySql - Examen du 25 juin 2008
 Parcours  |   Réalisations  |   Cours  |   Chroniques  |   Divers
Élections parisiennes
Carnet de note
Météo France
Boursicotage
Clubs de foot
Cours de la bourse
Correction Clubs de foot
Correction Cours de la bourse
Diaporama

Examen php/mysql du 25 juin 2008

À lire attentivement avant de commencer:

La partie portant sur les clubs de foot sera rendu sous forme d'un unique fichier ".txt" portant votre nom en majuscule.

Exemple:

La partie portant sur les cours de la bourse sera rendu sous forme d'un unique fichier ".php" portant votre nom en majuscule.

Exemple:

À l'heure dite, vous m'enverrez un mail (pi2.aulas@laposte.net) contenant les fichiers en pièce-jointe.

Vous avez le droit d'utiliser votre cours et internet. Les outils de communication interpersonnels sont interdits (téléphone, messagerie, bouts de papier, yeux qui louchent, etc.).


Clubs de foot (7 points)

Pour cette première partie, nous prendrons comme modèle la base de donnée suivante :

MCD

Rédigez les requêtes sql qui permettent de répondre aux questions suivantes :

1. La date de naissance et la position sur le terrain de 'MATHIEU' 'Jérémy' ? (1/2 point)

2. Dans quel clubs a-t-il joué ? (1/2 point)

3. Quels sont les clubs de Marseille ? (1/2 point)

4. Quels sont les joueurs qui sont passés par le club de Marseille ? (1/2 point)

5. Quels sont les clubs qui sont passés par la Ligue 1 (dont la mention se trouve dans la table 'division') ? (1/2 point)

6. Donner la liste des journées de match de la ligue 1 en 2005, avec le numéro du jour et la date prévue (1 point)

7. Donner le nom de chaque joueur et le nombre de buts marqués (1/2 point)

8. Donner la liste des clubs pour la saison 2007 (1 point)

9. Quel est le nom du joueur qui a mis le plus de but ? (1 point)

10. Indiquer pour chaque équipe le nombre de buts marqués pendant la saison 2005 (1 point)

Correction Clubs de foot

Haut de page

Les cours de la bourse (13 points)

Barême :

L'exercice consiste à permettre à un financier de regarder les cours de la bourse de divers matériaux. Il doit également pouvoir suivre la valeur de ses portefeuilles, lesquels sont composés de différents matériaux.

Vous pouvez charger la base de donnée 'bourse' sur laquelle vous allez travailler ici. (clic-droit 'Enregistrer la cible du lien sous')
Ce fichier permet la création de la base et l'insertion de données concernant les cours boursiers de différents matériaux ramenés en euro/kg ainsi que la composition de quelques portefeuilles.
Charge à vous de la mettre en place sur votre poste de travail. La correction se fera avec cette base. Vous pouvez modifier son contenu si cela vous amuse mais pas sa structure.

Le schéma de cette base est le suivant :

MCD

Le principe est que l'utilisateur dispose de deux menus déroulants (remplis dynamiquement) lui permettant de séléctionner soit une matière, soit un portefeuille.
Il dispose également de deux zones de texte dans lesquelles il peut saisir une date (une année) de début et une date de fin pour l'affichage de la série (dans la base, toutes les séries commencent en 1999 et se terminent en 2008).
L'affichage du résultat se déclenche lorsqu'il appuie sur le bouton "Afficher", sans que les données rentrées ultérieurement soient perdues.

L'interface pour l'utilisateur est donc des plus simples :

Aperçu de l'interface

Il sélectionne un cours dans le menu déroulant :

Utilisation du menu déroulant

Et le cours sélectionné s'affiche en-dessous :

Affichage des cours d'une matière

L'affichage des cours d'un matériaux se fera de la manière suivante (cf. image ci-dessus) :

L'affichage des cours d'un portefeuille se fera de la manière suivante (cf. image ci-dessous) :

NOTA-BENE : le cours d'un portefeuille est égal à la somme des cours des matériaux qui le composent, selon leur pourcentage.

Affichage des cours d'un portefeuille
Haut de page

Correction Clubs de foot

MCD

1. La date de naissance et la position sur le terrain de 'MATHIEU' 'Jérémy' ?

SELECT date_naissance, position_terrain
FROM joueurs
WHERE nom = "MATHIEU" AND prenom="Jérémy"

2. Dans quel clubs a-t-il joué ?

SELECT DISTINCT c.nom
FROM joueurs j, effectif ef, equipes eq, clubs c
WHERE j.id = ef.id_joueur
AND ef.id_equipe = eq.id
AND eq.id_club = c.id
AND j.nom = "MATHIEU" AND prenom="Jérémy"

3. Quels sont les clubs de Marseille ?

SELECT COUNT(*)
FROM clubs cl, equipes eq
WHERE eq.id_club = cl.id
AND cl.nom = "Marseille"

MCD

4. Quels sont les joueurs qui sont passés par le club de Marseille ?

SELECT j.nom, j.prenom
FROM joueurs j, effectif ef, equipes eq, clubs c
WHERE j.id = ef.id_joueur
AND ef.id_equipe = eq.id
AND eq.id_club = c.id
AND c.nom = 'Marseille';

5. Quels sont les clubs qui sont passés par la Ligue 1 (dont la mention se trouve dans la table 'division') ?

SELECT DISTINCT cl.nom AS 'Passés en ligue 1'
FROM equipes eq, clubs cl, championnats ch, divisions d
WHERE ch.id_division = d.id
AND eq.id_champ = ch.id
AND eq.id_club = cl.id
AND d.nom = "Ligue 1"

6. Donner la liste des journées de match de la ligue 1 en 2005, avec le numéro du jour et la date prévue

SELECT j.numero, CONCAT(DAY(j.date_prevue),' ',MONTH(j.date_prevue))
FROM divisions d, championnats c, journees j
WHERE d.id = c.id_division
AND j.id_champ = c.id
AND d.nom LIKE 'Ligue 1'
AND YEAR(j.date_prevue) = 2005
ORDER BY j.numero;

MCD

7. Donner le nom de chaque joueur et le nombre de buts marqués

SELECT j.nom AS 'Joueur', SUM(b.buts) 'Nb de buts'
FROM joueurs j, effectif e, buteurs b
WHERE e.id_joueur = j.id
AND b.id_effectif = e.id
GROUP BY j.id;

8. Donner la liste des clubs pour la saison 2007

SELECT clubs.nom AS 'Club saison 2007'
FROM clubs, equipes, championnats, saisons
WHERE clubs.id = equipes.id_club
AND championnats.id = equipes.id_champ
AND saisons.id = championnats.id_saison
AND saisons.annee = 2007;

9. Quel est le nom du joueur qui a mis le plus de but ?

10. Indiquer pour chaque équipe le nombre de buts marqués pendant la saison 2005

Haut de page
Plan du site  |  Mentions légales  |  Crédits  |  Aide