On considère un ensemble de villes
reliées entre elles par un réseau routier.
Certaines liaisons entre deux villes sont à sens
unique et d'autres à double sens. Chaque ville
est caractérisée par son nom, sa population
et son appartenance à un département et
une région. On considérera par la suite,
et pour simplifier la présentation, que le "réseau"
routier se compose des villes représentées
sur le schéma suivant :
Les chiffres représentent les
distances entre villes.
Dictionnaire
des données
Mnémonique
Libellé
Ville
Nom de la ville
Population
Nombre d'habitants de la ville
NumDept
Numéro du département dans lequel la ville
se trouve
NomDept
Nom du département dans lequel la ville
se trouve
NumRegion
Numéro de la région dans laquelle la ville
se trouve
NomRegion
Nom de la région dans laquelle la ville
se trouve
Distance
Distance, en kilomètres, entre 2 villes
Pour
modéliser la distance entre 2 villes, l'attribut
"Ville" sera amené à jouer deux
rôles :
1- Celui de la ville de départ
: attribut "VilleDepart" 2- Celui de la
ville d'arrivée : attribut "VilleArrivee"
Dans le cas d'une liaison à double sens
entre les 2 villes, la même ville sera successivement
considérée comme ville de départ
puis ville d'arrivée. Dans notre cas, par exemple
B-C et C-B ou B-D et D-B.
Si la liaison entre
les deux villes est à sens unique, dans notre
exemple E-B ou E-F, une des 2 villes ne jouera qu'un
seul des 2 rôles : Ville de départ ou Ville
d'arrivée, mais pourra jouer les deux rôles
si elle est l'objet d'une liaison à double sens
avec une autre ville : par exemple B.
Schéma des données
Pour un complément d'informations sur la démarche
de construction du schéma des données se reporter,
dans ces pages, à la rubrique Conception
BD.
Les attributs VilleDepart, VilleArrivee, Distance
n'ont pas été classés dans l'étape précédente,
ils interviennent dans une DF composée qui est la suivante
:
La structure de données "optimale" est la
suivante (les clés sont en caractères gras) :
Dans ce schéma, les relations
entre la table "Distances" et la table "Villes"
ne sont pas représentées car elles dépendent
des traitements, et donc des différents rôles
que l'attribut Ville va jouer en fonction des questions
posées.
Contenu
de la table "Distances"
VilleDepart
VilleArrivee
Distance
A
E
50
A
F
60
B
C
50
B
D
60
C
B
50
D
B
60
D
E
30
E
A
50
E
B
60
E
D
30
E
F
100
F
A
60
Interrogations
Pour visualiser le contenu de chaque table de la base
de données, taper la commande :
SELECT * FROM Nom_de_ table;
dans un cadre comportant le bouton "Exécuter".
Question 1 Afficher, par région et département, le nombre
de villes de plus de 100000 habitants. (Réponse)
Question 2 Afficher la liste de toutes les liaisons à sens unique
entre deux villes pour lesquelles la population de l'une des 2 villes
est inférieure à 80000 habitants. (Réponse)
Question 3 Afficher la liste des villes, distantes de 2 tronçons
routiers, et la distance qui les séparent. (Réponse)
Question 4 Afficher la liste des villes, qui peuvent être distantes
de 4 tronçons routiers (il peut en effet y avoir des liaisons
plus courtes en 2 ou 3 tronçons), et la distance qui les
séparent. (Réponse)
Afficher le nombre d'habitants par région et département.
On supposera que la population d'une région se résume
à celle des villes qui font partie du réseau routier.
(Réponse)
Donner le nom de la région qui possède le plus long
réseau routier et le nombre de kilomètres de ce réseau.
Cette question doit être traitée de manière
"statique" car elle implique la création de tables
de travail. (Réponse)