Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Ces travaux nécessiteront d’aller regarder dans la documentation ou sur internet et un travail
actif de votre part.
Ressources du module
Vous avez à votre disposition :
- Le polycopié de cours Base de données disponible sur http://moodle.epf.fr qui
reprend toute la partie analyse du besoin / modèle conceptuel de données (MCD) /
modèle logique de données (MLD) / modèle physique de données (MPD).
- le cours de SQL du site http://sql.sh, écrit par T. Archambeau disponible ici :
http://sql.sh/ressources/cours-sql-sh-.pdf. Ce polycopié très complet reprend de
manière très claire la syntaxe de la grande majorité des requêtes SQL. Vous vous
appuierez sur ce document pour effectuer les exercices de ce TP.
- Le fichier « Northwind_sansregion.sql » contenant les instructions SQL pour créer la
base de données, et le fichier « Update_territories_final.csv » contenant les données
de la table « Territories » sont disponibles sur http://moodle.epf.fr.
1
Méthodes et outils de traitement des données 2022-2023
XAMPP en production : Attention, XAMPP n’a pas vocation à être utilisé dans un contexte de
production finalisée. Il est alors recommandé de réaliser l’installation de tous ces logiciels sur
un "vrai serveur" (Notez bien que la configuration peut cependant être transférée de l’un à
l’autre.).
Sujet du TP
Nous allons étudier une base de données existante appelée Northwind Trader, dont le MLD
est ci-dessous.
(https://www3.ntu.edu.sg/home/ehchua/programming/sql/SampleDatabases.html#zz-3.)
2
Méthodes et outils de traitement des données 2022-2023
Apache correspond au serveur Web, permettant d’émuler une page web pour que vous
puissiez travailler sur votre base de données.
MySQL est le Système de Gestion de Base de Données relationnelles, permettant de stocker,
manipuler ou gérer, et partager des données dans une base de données.
3
Méthodes et outils de traitement des données 2022-2023
Une fois MySQL lancé, cliquez sur Admin, pour vous connecter en local sur MySQL en tant
qu’administrateur de Base de Données.
Votre navigateur web devrait s’ouvrir vers la page http://localhost/phpmyadmin/ (localhost
est l’adresse réflexive vers votre propre ordinateur). PHPMyAdmin est un outil développé en
PHP et qui permet d’administrer et de manipuler facilement des bases de données MySQL ou
MariaDB. C’est l’outil que nous allons utiliser pour réaliser nos exercices.
2) Cliquez sur l’onglet SQL. Depuis l’onglet SQL vous pouvez exécuter des requêtes au
format SQL et visualiser le résultat. Entrez la requête « Show databases » pour voir les
différentes bases de données déjà existantes.
Requête : Une requête est un message écrit envoyé à quelqu’un et qui attend une
réponse ou une action. En informatique, c’est un système très utilisé lors de l’envoi de
message entre un client et un serveur (par ex : requête HTTP entre un navigateur et un
serveur web).
En base de données, ce sont les messages que l’on envoie au SGBD afin de demander
des données ou d’agir sur le système. Le format le plus courant de requête en BDD
relationnelle est le langage SQL (Structured Query Language).
4
Méthodes et outils de traitement des données 2022-2023
Assurez-vous de toujours spécifier la base de données que vous utilisez. Soit avec l’utilisation
de la commande « USE northwind », soit en cliquant sur la base de données « northwind »
dans la partie gauche de la fenêtre.
Vous voyez l’endroit où vous êtes dans les différentes bases de données à côté de l’adresse
serveur :
5
Méthodes et outils de traitement des données 2022-2023
6
Méthodes et outils de traitement des données 2022-2023
Au moment où vous déclarez la clé primaire dans la partie « Index », un pop-up s’ouvre. Il
suffit de cliquer sur « Exécuter » :
Cliquez sur en bas de la page pour voir la requête SQL correspondante puis sur
L’opération inverse de CREATE TABLE est DROP TABLE qui permet de supprimer une table
existante.
Évidemment, DROP TABLE est à utiliser avec précaution.
7
Méthodes et outils de traitement des données 2022-2023
Vous arrivez alors dans l’onglet « Parcourir » qui contient les données de la table :
Allez dans l’onglet « Structure » pour accéder à la structure de la table at ajoutez une colonne:
8
Méthodes et outils de traitement des données 2022-2023
Index : En SQL, les index sont des ressources qui permettent d’accéder plus rapidement
aux données. Cependant, un index occupe de l’espace supplémentaire dans la base de
données et l’insertion de données est plus longue car les index sont mis à jour à chaque
fois que des données sont insérées. Il faut ainsi choisir avec précaution les champs à
indexer.
Sous MySQL, seul un champ possédant un index peut être défini comme une clé
étrangère.
Comme pour la clé primaire, lorsque vous définissez l’index, un pop-up s’ouvre. Renseignez
le nom de l’index et exécutez.
On vient de voir que ALTER TABLE ... ADD permet d’ajouter une colonne à une table existante.
La commande ALTER TABLE ... DROP permet de son côté de les supprimer. À utiliser avec
précaution !
9
Méthodes et outils de traitement des données 2022-2023
RegionID 1 2 3 4
RegionDescription Eastern Western Northern Southern
Insérez les données demandées. Si vous cliquez sur tout en bas de la page, vous
enregistrez les 4 lignes en même temps. Si vous cliquez sur sous une donnée,
cela n’enregistre que cette donnée.
10
Méthodes et outils de traitement des données 2022-2023
7) Instruction UPDATE
Complétez les données de la table « Territories » avec les 2 lignes ci-dessous.
Tout d'abord, sélectionnez la table « Territories » dans l'onglet de gauche. Vous arrivez sur
l’onglet « Parcourir » où vous voyez les données de la table et toutes les valeurs de la colonne
« Region_ID » sont à 0, puisque nous n’avons rentré pour l’instant aucune donnée dans cette
colonne. Cliquez sur « Editer » pour chaque ligne que vous souhaitez modifier, et modifiez la
valeur dans la fenêtre.
11
Méthodes et outils de traitement des données 2022-2023
12
Méthodes et outils de traitement des données 2022-2023
13
Méthodes et outils de traitement des données 2022-2023
Plusieurs options sont disponibles lors de la suppression ou mise à jour de données. Le choix
dépend des règles de gestion données par le client.
10) Il existe différents opérateurs, commandes ou fonctions en SQL, dont voici quelques
exemples courants :
✓ Commande ORDER BY ✓ Opérateur AND ✓ Fonction SUM
✓ Commande HAVING ✓ Opérateur OR ✓ Fonction COUNT
✓ Commande LIMIT ✓ Opérateur BETWEEN ✓ Fonction MAX
✓ Commande GROUP BY ✓ Opérateur IN ✓ Fonction MIN
✓ Commande INNER JOIN ✓ Opérateur LIKE ✓ Fonction AVG
A partir de l'onglet SQL, affichez les requêtes ci-dessous (1 requête par point) :
a. Instruction SELECT
• Toutes les colonnes de la table « employees »
• Les noms des employés triés par date de naissance
14
Méthodes et outils de traitement des données 2022-2023
c. Opérateurs logiques
• Les produits (nom et prix) dont le prix est supérieur à 20 € et dont la quantité en stock
correspond à plus du double de la quantité commandée
• Les produits (nom et prix) avec une quantité en stock supérieure à 15 ou une quantité
en stock inférieure à 5, triés selon la quantité en stock décroissante
• Même requête que précédemment mais uniquement pour les produits du fournisseur
dont l’identifiant fournisseur est 1
• Les fournisseurs venant des pays suivants : Japon, États-Unis et Royaume-Uni
• Les employés dont les noms de famille commencent par D et finissent par O
d. Fonctions / groupements
• Les salaires cumulés des employés vivant aux Etats-Unis
• Les salaires cumulés des employés par ville pour les employés vivant aux Etats-Unis
• Le nombre de fournisseurs par ville pour les fournisseurs venant des Etats-Unis
• Le nombre de fournisseurs par ville pour les fournisseurs venant des Etats-Unis.
N'inclure que les villes comptant plus de 5 fournisseurs
15
Méthodes et outils de traitement des données 2022-2023
16
Méthodes et outils de traitement des données 2022-2023
Un pop-up s’ouvre, dans laquelle il faut renseigner le nom de la vue, et le code nécessaire dans
la fenêtre « AS » :
Si le pop-up ne s’ouvre pas, cela peut venir de votre pare-feu ou d’un bloqueur de publicités.
Il faut alors autoriser les pop-ups pour cette page web.
17
Méthodes et outils de traitement des données 2022-2023
Procédure stockée : série d'instructions SQL désignée par un nom. Lorsque l'on crée
une procédure stockée, on l'enregistre dans la base de données que l'on utilise, au
même titre qu'une table, par exemple. Une fois la procédure créée, il est possible
d'appeler celle-ci par son nom. Les instructions de la procédure sont alors exécutées.
Contrairement aux requêtes préparées, qui ne sont gardées en mémoire que pour la
session courante, les procédures stockées sont, comme leur nom l'indique, stockées de
manière durable, et font bien partie intégrante de la base de données dans laquelle
elles sont enregistrées.
• Soit aller sur la BDD « Northwind » et cliquer sur l’onglet « Procédures stockées »
• Soit aller dans la liste des procédures et cliquer sur « Nouvelle procédure ».
Un pop-up s’ouvre, dans laquelle il faut renseigner le nom de la procédure, les paramètres
d’entrée (IN) et le code nécessaire dans la fenêtre « Définition » :
18
Méthodes et outils de traitement des données 2022-2023
a. Instruction INSERT
• Insérer des données dans la table « customers »
Déclencheurs (ou triggers) : objets attachés à une table qui permettent de déclencher
l'exécution d'une instruction, ou d'un bloc d'instructions, lorsqu'une ou plusieurs
lignes sont insérées, supprimées ou modifiées dans la table à laquelle ils sont
attachés.
Dans le corps du trigger, MySQL met à disposition deux mots-clés : OLD et NEW.
• OLD représente les valeurs des colonnes de la ligne traitée avant qu'elle ne soit
modifiée par l'événement déclencheur. Ces valeurs peuvent être lues, mais pas
modifiées.
• NEW représente les valeurs des colonnes de la ligne traitée après qu'elle a été
modifiée par l'événement déclencheur. Ces valeurs peuvent être lues et
modifiées.
19
Méthodes et outils de traitement des données 2022-2023
Définissez le moment et le type d’événement. Ecrire la requête faisant l’action demandée ci-
dessus, puis exécuter.
20
Méthodes et outils de traitement des données 2022-2023
21