TP 1: MySQL
Le schéma de la base de données cours est le suivant:
✔ Etudiant(Numetu,Nometu,Prenometu,Dtnaiss,Cdsexe#)
✔ Matiere(Numat,Nomat,Coeff,Numens#)
✔ Sexe(Cdsexe,Lbsexe)
✔ Enseignant(Numens, Nomens,Prenomens,Grade,Ancien)
✔ Notes(Numetu#, Numat#, note).
Le dictionnaire des données est le suivant:
Nom Libellé
Ancien Ancienneté dans le grade
Cdsexe Code sexe
Coeff Coefficient de la matière
Dtnaiss Date de naissance
Grade Grade de l'enseignant
Lbsexe Libellé du sexe
Nomat Nom de la matière
Nomens Nom de l'enseignant
Nometu Nom de l'étudiant
Note Note obtenue à la matière
Numat N° de la matière
Numens N° de l'enseignant
Numetu N° de l'étudiant
Les grades
ASS : Assistant ; PR : Professeur ; MCF : Maître de conférence
A) Installation de la base de données cours
1. Lancez le terminal (cmd)
2. Copiez le fichier cours.sql dans votre répertoire courant (utilisateur)
3. Connectez vous à MySQL en tant que root.
4. Tapez la commande tee tp1.txt (pour enregistrer dans le fichier tp1.txt les commandes
saisies et les résultats des requêtes).
5. Créez la base de données cours (create database cours;)
6. Affichez l'ensemble des bases de données du serveur MySQL (show databases ;) .
7. Sélectionnez la base de données cours (use cours)
8. Exécutez le fichier cours.sql (source cours.sql)
B) Commandes MySQL:
1) Affichez l'ensemble des tables de la base de données cours.
2) Affichez la structure de chaque table.
1
C) Requêtes simples
Commande SELECT.
1) Affichez la liste de tous les étudiants (Numetu,Nometu,Prenometu).
2) Affichez la liste des matières dans l'ordre alphabétique
3) Affichez la liste des enseignants (nom, prénom ancienneté) par ordre d'ancienneté.
4) Affichez la liste des assistants.
5) Affichez la liste des enseignants qui ont une ancienneté :
– supérieure à 3 ans
– comprise en 2 et 4 ans. (BETWEEN x AND y).
6) Affichez l'ancienneté de SIMON Étienne.
7) Affichez la liste des étudiants dont le prénom commence par la lettre J (opérateur LIKE '%...%').
Fonctions MySQL
Fonctions Rôle
Renvoie le nombre de valeurs dans la colonne. Si DISTINCT est
COUNT([DISTINCT] expr [alias]
précisé, les doublons sont éliminés.
COUNT(*) Compte toutes les lignes de la table.
AVG(expr [alias]) Renvoie la moyenne des valeurs de la colonne spécifiée.
MIN(expr [alias]) Renvoie la plus petite valeur de la colonne spécifiée.
MAX(expr [alias]) Renvoie la plus grande valeur de la colonne spécifiée.
SUM(expr [alias]) Renvoie la somme des valeurs de la colonne spécifiée.
8) Affichez l'effectif des étudiants .
9) Affichez l'effectif des hommes.
10) Affichez l'effectif des femmes.
11) Affichez la valeur de la plus petite ancienneté.
12) Affichez la valeur de la plus grande ancienneté.
13) Affichez le nom, le grade et l'ancienneté des enseignants qui ont la plus grande et la plus petite
ancienneté.
14) Affichez la valeur moyenne de l'ancienneté.
15) Affichez l'âge de chaque étudiant.
D) Jointures
1) Afficher le nom et le grade des enseignants d'histoire.
2) Afficher le nom et le coefficient des matières qui sont enseignées par des maîtres de conférences ou des
assistants.
3) Afficher pour chaque étudiant (nom et prénom), et par ordre alphabétique, la note qu'il a obtenue en Histoire.
4) Affichez pour chaque note, la matière et le nom de l'étudiant correspondants.
5) Afficher les noms des étudiants qui n'ont aucune note en Histoire.
E) Regroupement (GROUP BY... HAVING... )
1) Afficher pour chaque matière la moyenne des notes de la classe.
2) Afficher pour chaque étudiant (nom) la moyenne générale obtenue.
3) Afficher le nombre d'étudiants qui ont obtenu une moyenne générale supérieure ou égale à 10.
4) Afficher, les matières pour lesquelles la moyenne des notes est inférieure à 10.