IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modélisation Discussion :

Modélisation atlas géographique


Sujet :

Modélisation

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 144
    Points : 127
    Points
    127
    Par défaut Modélisation atlas géographique
    Bonjour à tous,

    Je suis en train de modéliser un atlas géographique et j'aurais une petite questions concernant la nomenclature à utiliser pour 3 tables (pays, régions, villes). Lequel de ces 3 modèles est le plus pertinent ? Est-ce que je dois nommer mes champs comme des attributs d'un objet ou comme des libellés qui mettent en relation les tables entre elles ? C'est sûrement un détail, mais je préfère prendre de bonnes habitudes.

    #1

    pays
    +id
    +nom

    régions
    +id_pays
    +id
    +nom

    villes
    +id_pays
    +id_région
    +id
    +nom

    #2

    pays
    +id_pays
    +nom

    régions
    +id_pays
    +id_région
    +nom

    villes
    +id_pays
    +id_région
    +id_ville
    +nom

    #3

    pays
    +pays
    +nom

    régions
    +pays
    +région
    +nom

    villes
    +pays
    +région
    +ville
    +nom

    Merci pour votre aide !

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Élimine tout de suite les clés primaires non numériques, puisque tu vas avoir, comme tu l'as signalé dans ton autre discussion, plusieurs dizaines de millions de villes. Donc élimine la solution 3.

    Tes solutions 1 et 2 sont très proches. Si je ne m'abuse, il n'y a que le nom de la clé primaire qui change.
    Dans ces deux solutions, tu utilises le principe de l'identification relative, ce qui est probablement une bonne solution dans ce cas, puisque l'identifiant du pays est reporté jusque dans la table des villes. En représentant les clés primaires et étrangères, ton modèle ressemble à ceci (clé primaires soulignées et clés étrangères en italique) :
    Pays (id_pays, nom_pays)
    Region (id_region, id_pays, nom_region)
    Ville (id_ville, id_pays, id_region, nom_ville)

    Tu pourrais aussi faire sans identification relative, ce qui augmenterait toutefois les jointures dans certains cas.
    Pays (id_pays, nom_pays)
    Region (id_region, id_pays, nom_region)
    Ville (id_ville, id_region, nom_ville)
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 144
    Points : 127
    Points
    127
    Par défaut
    Super ! C'est noté ! Merci encore pour tout.


  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 288
    Points : 412
    Points
    412
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Tu pourrais aussi faire sans identification relative, ce qui augmenterait toutefois les jointures dans certains cas.
    Pays (id_pays, nom_pays)
    Region (id_region, id_pays, nom_region)
    Ville (id_ville, id_region, nom_ville)
    A part si on veut faire l'économie d'une jointure (optimisation?), je préfère ce dernier modèle car avoir ET l'id de la région ET l'id du pays sur la ville laisserait supposer qu'on pourrait avoir le cas suivant:

    pays=(1,France) (2,Belgique)
    région=(1,1,idf)
    ville=(1,1,2,paris)

    c'est-à-dire que Paris est rattachée à l'idf (qui est en France) ET à la Belgique!?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quels logiciels de modélisation pour une base de données ?
    Par octopus dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 11/06/2023, 16h20
  2. Quel outil de modélisation UML utilisez vous ?
    Par Matthieu Brucher dans le forum Outils
    Réponses: 78
    Dernier message: 11/01/2018, 14h33
  3. [Modélisation] Schéma constellation
    Par senke dans le forum Décisions SGBD
    Réponses: 8
    Dernier message: 13/05/2016, 13h27
  4. [MCD]Modéliser une carte géographique
    Par hammoutiGI dans le forum Schéma
    Réponses: 1
    Dernier message: 18/11/2007, 17h14
  5. [Class/PHP/Postgres] Problème de modélisation...
    Par k-reen dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 27/02/2003, 08h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo