TP 3
BDD_S2 (Travaux Pratiques): Séance 3
Jean-Philippe Fauconnier
Base de Données
1
La base de données ‘World’
La base de données ‘world’ est une base de donnée exemple communiquée sur le site de MySQL. Cette base de données contient la description d’environ 4.079 villes, la description d’environ 239 pays et les données langagières de ces pays. Vous pouvez la télécharger ici : https://github.com/fauconnier/BDD3_TP
Figure 1 – Schéma relationnel pour la base de données music2
Pour l’installation, vous devez importer le fichier ‘world_innodb.sql.zip’ dans PhpMyAdmin. L’importation de toute la base de données peut prendre un certain temps (3 à 4 minutes). Inutile de d’actualiser PhpMyAdmin.
Profitez de ce temps pour vous familiarisez avec le schéma relationnel et pour lire les requêtes.
Si cela vous intéresse pour vos applications futures, vous trouverez d’autres exemples de base de données sur le site officiel de MySQL : http://dev.mysql.com/doc/index-other.html#sampledb
Page 1 sur 4
13 mai 2015
2
2.1
BDD_S2 (Travaux Pratiques): Séance 3
Jean-Philippe Fauconnier
Les requêtes SQL
INNER JOIN
Le langage de requête SQL permet de faire des requêtes sur plusieurs tables à la fois en utilisant un champ spécifique comme pivot. Cette équivalence de champ est exprimée au travers d’une condition. Il existe deux manière d’exprimer cette condition : (i) en utilisant une condition dans WHERE ou (ii) en utilisant le mot-clef INNER JOIN.
En reprenant le schéma relationnel de la base de données ‘world’, nous pouvons faire une requête qui affiche le nom des villes et le nom des pays auxquelles elles appartiennent.
1
2
3
4
# methode (1)
SELECT City.Name, Country.Name
FROM City, Country
WHERE City.CountryCode = Country.Code
5
6
7
8
9
# methode (2)
SELECT City.Name, Country.Name
FROM City INNER JOIN Country
ON City.CountryCode = Country.Code
2.2
GROUP BY
Le mot-clef GROUP BY permet de grouper les tuples selon un ou plusieurs champs. Cette fonction est