Académique Documents
Professionnel Documents
Culture Documents
Mohammed Khalil
1 Travaux pratiques 4
1.1.1 WampServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.2 PHPMyAdmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2
1.4.1 Fonctions agrégatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.2 Jointures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5.1 Regroupements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3
Chapitre 1
Travaux pratiques
4
1.1 TP1 : PHPMyadmin
1.1.1 WampServer
Le package WAMP est un environnement de développement sous Windows, très utile pour déve-
lopper un site web dynamique. Les éléments qui composent WAMP sont les suivants :
Apache : serveur HTTP très populaire.
MySQL : système de gestion de base de données.
PHP : langage de développement populaire sur les sites web. Ce langage permet d'interpréter le
code des pages PHP pour ensuite envoyer les données à Apache qui les envois ensuite au client
(c'est-à-dire le plus souvent : un navigateur web).
PHPMyAdmin : système de gestion pour MySQL développé en PHP . C'est une interface
pour gérer plus facilement MySQL sans nécessairement avoir de nombreuses connaissances. Cela
permet de mieux voir et éditer les informations liées à la base de données, plutôt que d'utiliser
des lignes de commandes pour faire la même chose.
1.1.2 PHPMyAdmin
4. Modier le type de la colonne Moyenne à ce qu'il n'accepte qu'une valeur positive inférieure
strictement à 100 avec 2 chires après la virgule.
5. Remplir la table par les informations de 5 étudiants de votre choix.
5
6. Acher tous les étudiants dont le prénom est Driss.
7. Acher tous les garçons de l'université.
8. Acher tous les étudiants qui ont un age compris entre 15 et 18 ans.
9. Acher tous les étudiants qui sont inscrits en 2015.
10. Acher tous étudiants qui n'ont pas eu une mention Bien.
11. Créer une deuxième table Ouvrage contenant les colonnes suivantes :
RefOuvrage de type entier
NomOuvrage de type chaîne de caractère de taille 20.
CNE de type entier
12. Dénir la clé primaire de la table Ouvrage tout en exigeant qu'elle s'incrémente automatique-
ment.
13. Dénir la clé étrangère de cette table.
14. Insérer 5 enregistrements de votre choix
15. Acher les ouvrages dont le nom contient "base de données".
16. Acher les ouvrages qui sont empruntés par Houda.
6
1.2 TP2 : LDD et LMD
• Table CLIENT : chaque ligne décrit un client ; les colonnes décrivent successivement le numéro
du client (numcli), son nom (nomcli), sa ville (ville), sa catégorie (categorie) et l'état de son
compte (compte). L'identiant primaire est constitué de numcli.
• Table PRODUIT : chaque ligne décrit un produit ; les colonnes décrivent successivement le
numéro du produit (numpro), son nom (nompro), son prix unitaire (prix) et la quantité restant
en stock (qstock). numpro est l'identiant primaire.
• Table COMMANDE : chaque ligne décrit une commande passée par un client ; les colonnes
décrivent successivement le numéro de la commande (numcom), le numéro du client qui a passé
la commande (numcli) et la date de la commande (datecom). numcom est l'identiant primaire
de la table. numcli est une clé étrangère vers la table CLIENT
• Table DETAIL : chaque ligne représente un détail d'une commande ; les colonnes décrivent
successivement le numéro de la commande à laquelle le détail appartient (numcom), le numéro
du produit commandé (numpro) et la quantité commandée (qcom). L'identiant primaire est
constitué de numcom et numpro. numcom et numpro sont en outre chacune une clé étrangère
respectivement vers les tables COMMANDE et PRODUIT.
7
1.2.1 Création des tables
1. Créer une base de données appelée BD_ACHAT.
2. Créer les tables de la base de données dont les noms et les types des colonnes sont illustrées
ci-dessus.
3. Ajouter les clés primaires et les clés étrangères lors de la création des tables ainsi que les
contraintes suivantes :
Les clés primaires des tables CLIENT, PRODUIT et COMMANDE sont de type int et doivent
s'incrémenter automatiquement.
Le nom et la ville des clients sont non nuls.
La colonne prix est supérieure ou égale à 0.
Le domaine de valeurs des colonnes qstock et qcom s'étend de 0 à 1000.
Selon le tableau , quelles sont les enregistrements qu'on ne peut pas insérés dans les tables précé-
demment crées. Remplissez les tables par les enregistrements permis.
1. Modier le nom et le prix du produit 6 par Clé USB et 100 DHs.
2. Augmentez de 1000 Dhs les comptes des clients de catégorie A.
8
3. Supprimer les clients dont le nom est Houda.
4. Diminuer de 10% les comptes supérieurs à 5000 DHs.
9
1.3 TP3 :Requêtes simples et sous requêtes
10
9. qui sont de catégorie B ou C, et qui habitent à Tanger ou à Casablanca.
10. qui n'ont pas été sélectionnés dans la question précédente.
11. qui n'ont pas de catégorie ou dont le compte est négatif (mais pas les deux).
12. Acher le numéro et la date des commandes qui sont réalisées entre les dates : 05/06/2015 et
15/09/2015
11
1.4 TP4 : Jointures
1.4.2 Jointures
En utilisant les trois écritures de jointures (condition de jointure, join on, natural join) :
1. Acher les numéros des clients qui commandent le produit de numéro 4.
2. Acher les villes des clients qui commandent le produit de numéro 6.
3. Quels sont les Casques qui font l'objet d'une commande ?
4. Dans quelles villes a-t-on commandé en Novembre 2015 ?
5. Acher le nom et villes des clients triés par ordre alphabétique, qui ont achetés des Casques.
12
1.5 TP5 : Regrouppements
1.5.1 Regroupements
1. Calculer, pour chaque ville, le nombre de catégories distinctes.
2. Acher le total et la moyenne des comptes des clients, ainsi que le nombre de clients, selon
chacune des classications suivantes :
par catégorie,
par catégorie dans chaque ville.
13
1.6 TP6 : Exercice complet
14
Figure 1.2: Table employé.
15