Géographie

Problème

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 en rouge 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'information sur la démarche de construction du schéma des données se reporter, dans ces pages, à la rubrique Conception BD.

1-DF simples

Ville -> Population, Numdept, Nomdept, Numregion, Nomregion
Numdept -> Nomdept, Numregion, Nomregion
Numregion -> Nomregion

2-Attributs non classés et DF composées

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 :

VilleDepart, VilleArrivee-> Distance, Population, Numdept, Nomdept, Numregion, Nomregion

3-Elimination des transitivités

Ville -> Population, Numdept
Numdept -> Nomdept, Numregion
Numregion -> Nomregion
VilleDepart, VilleArrivee-> Distance

4-Construction des entités et associations

VILLES(Ville, Population, Numdept)
DEPARTEMENT(Numdept, Nomdept, Numregion)
REGION(Numregion, Nomregion)
DISTANCES(VilleDepart, VilleArrivee, Distance)

5-Mise en relation des entités et associations

Entité sourceEntité butRelation sur l'attributType de relation
DEPARTEMENTVILLENumdept1-n
REGIONDEPARTEMENTNumregion1-n
VILLESDISTANCESVille / VilleDepart1-n
VILLESDISTANCESVille / VilleArrivee1-n

6-Schéma des données

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épare. (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épare. (Réponse)

Question 5
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)

Question 6
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)