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

Décisions SGBD Discussion :

Structure adresse postale


Sujet :

Décisions SGBD

  1. #1
    Membre régulier
    Avatar de madvic
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Mai 2003
    Messages : 101
    Points : 92
    Points
    92
    Par défaut Structure adresse postale
    Bonjour,
    Je n'arrive pas a trouver dans les forum et sur le net en général, une règle/norme sur la structure d'adresse.

    Je me base sur ce que j'ai vu, aujourd'hui voici ce que j'ai :
    Pays :
    id
    code_iso (2)
    Pays (100)
    Régoin / Etat :
    id
    pays_id
    Région / Etat (100)
    Contact :
    id
    Prénom (100)
    Nom (100)
    Adresse 1 (35)
    Adresse 2 (35)
    Adresse 3 (35)
    Code postal (10)
    pays_id
    state_id
    Y a t-il d'autre champ à prendre en compte pour mettre l'ensemble des adresses mondiales ? (ou presque)
    Pensez vous que la longueur des champs suffit ?
    De plus, pensez vous que le code_iso (sur 2 caract) puisse faire clé primaire, ou bien toujours privilégier les id numérique ?


    Merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 933
    Points : 51 748
    Points
    51 748
    Billets dans le blog
    6
    Par défaut
    Il suffit de bien chercher... notamment sur mon site :
    1) normes et standard de données : l'adresse postale http://sqlpro.developpez.com/cours/normes/#L3
    2) modélisation d'une adresse postale : http://blog.developpez.com/exercices...d-une-adresse/
    3) lien externe, norme adresse postale européenne : http://www.laposte.fr/sna/rubrique.php3?id_rubrique=131

    A +

  3. #3
    Membre régulier
    Avatar de madvic
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Mai 2003
    Messages : 101
    Points : 92
    Points
    92
    Par défaut
    Ah génial,

    Merci, je n'avais pas trouvé vos articles.
    J'ai déjà consulter les site de la SNA, mais je n'ai pas trouvé toutes mes réponses.

    Disons que les adresse sont à 38 caractère, le CP : 5 en france, mais en ce qui concerne l'internationale ? Combien de caractères maxi ?
    Peut-on simplifier Etat, en mettant soit l'état et la région comme on le voit souvent ?
    N'y a t-il pas des cas d'adresse internationale ou ca ne rentre pas dans ce genre de modèle ?

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 174
    Points : 7 426
    Points
    7 426
    Billets dans le blog
    1
    Par défaut
    Au Japon par exemple, les adresses n'ont rien à voir avec les adresses françaises.

    Là bas, à quelques détails près, les rues n'ont pas de nom.

    On donne une adresse par :
    - Ville
    - Eventuellement l'arrondissement
    - Quartier
    - Section de quartier
    - Numéro du pâté de maison
    - Numéro de maison dans le pâté de maison

    Exemple :

    Tokyo Shibuya 12-5-27

    Enfin, plus exactement, en adresse complète, l'adresse de l'ambassade de France :

    106-8514 Tōkyō-to Minato-ku Minami-Azabu 4-11-44

    http://fr.wikipedia.org/wiki/Syst%C3...d'adresses

    Comme quoi, c'est un peu plus compliqué qu'on ne le pense de modéliser des adresses internationnales

  5. #5
    Expert éminent sénior
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 812
    Points : 34 084
    Points
    34 084
    Billets dans le blog
    14
    Par défaut
    Si le système doit être rigoureux sur le contrôle des adresses enregistrées, il faudrait alors des procédures pour vérifier le format de l'adresse selon le pays.

  6. #6
    Membre régulier
    Avatar de madvic
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Mai 2003
    Messages : 101
    Points : 92
    Points
    92
    Par défaut
    Effectivement, c'est intéressant.
    Au niveau de l'ordre c'est différent, mais au niveau stockage j'ai tout de même l'impression que c'est la même logique.
    Après est ce que mes champ répondent à ces contraintes ?

    Exemple :
    - Ville -> Ville
    - Éventuellement l'arrondissement -> Région/Etat
    - Quartier -> CP
    - Section de quartier -> Adresse 3
    - Numéro du pâté de maison -> Adresse 2
    - Numéro de maison dans le pâté de maison -> Adresse 1

    Sinon, personne n'a rencontré cette question :
    De plus, pensez vous que le code_iso (sur 2 caract) puisse faire clé primaire, ou bien toujours privilégier les id numérique ?

    Merci

  7. #7
    Expert éminent sénior
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 812
    Points : 34 084
    Points
    34 084
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par madvic Voir le message
    Effectivement, c'est intéressant.
    Au niveau de l'ordre c'est différent, mais au niveau stockage j'ai tout de même l'impression que c'est la même logique.
    Je me faisais la même réflexion en regardant l'article de Wikipédia. Le tout est de trouver la structure commune qui permettrait de stocker n'importe quelle adresse dans le monde.
    En l'occurrence, le point commun est forcément le pays et il semble que le code postal ou son équivalent puisse en être un autre.
    Citation Envoyé par Wikipedia
    On trouve donc dans l'ordre :

    106-8514, le numéro de registre cadastral ou code postal ;
    À vérifier pour d'autres pays. Je ne sais pas s'il existe une norme ISO sur le sujet ; SQLPro ne mentionne qu'une norme au plus européenne.

    Après est ce que mes champ répondent à ces contraintes ?

    Exemple :
    - Ville Ville
    - Eventuellement l'arrondissement Région/Etat
    - Quartier CP
    - Section de quartier Adresse 3
    - Numéro du pâté de maison Adresse 2
    - Numéro de maison dans le pâté de maison Adresse 1
    Pour le Japon, il semble que oui, mais pas pour les autres pays.

    Il y aurait alors deux solutions...
    1) La spécialisation (héritage de données)
    adresse_japonaise -(1,1)----être----0,1- adresse
    adresse_francaise -(1,1)----être----0,1--------|
    ...

    adresse (adr_id, [colonnes communes à toutes les adresses])
    adr_fr (afr_id_adresse, [colonnes spécifiques aux adresses françaises])
    adr_jpn (ajp_id_adresse, [colonnes spécifiques aux adresses japonaises])
    ...

    2) La généralisation des structures d'adresses.
    Par exemple, avec trois lignes "fourre-tout" quel que soit le pays :
    adresse (adr_id, adr_id_pays, adr_code_postal, adr_ligne1, adr_ligne2, adr_ligne3)

    Et là revient la nécessité de procédures pour vérifier la qualité des adresses enregistrées selon le pays.

    Sinon, personne n'a rencontré cette question :
    De plus, pensez vous que le code_iso (sur 2 caract) puisse faire clé primaire, ou bien toujours privilégier les id numérique ?
    Jusqu'à 4 caractères, la clé primaire alphabétique est acceptable en CHAR(4) car la taille est équivalente à un entier, généralement codé sur 4 octets.
    Cependant, une clé alphabétique est susceptible de changer, ce qui est néfaste pour la maîtrise des données.

    C'est aussi pour cela qu'il vaut mieux une clé numérique sans signification et auto-incrémentée pour toutes les tables issues d'entités types du MCD qui n'ont pas d'identification relative.

  8. #8
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Points : 18 395
    Points
    18 395
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Cependant, une clé alphabétique est susceptible de changer, ce qui est néfaste pour la maîtrise des données.
    Je suis d'accord pour un ID auto incrémenté, surtout que dans la norme ISO-3166-1 il existe trois identifiants distincts :
    1. sur deux lettres (alpha2)
    2. sur trois lettres (alpha3)
    3. sur trois chiffres

  9. #9
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2013
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Gestion des adresses
    IL faut se poser la question de quoi j'ai besoin comme information ?

    Numéro d'appartement : 48
    Numéro d'étage : 4
    Numéro / Nom du batiment : 10 / Les lilas
    Type de voie : Rue, place, Boulevard, impasse, Avenue, etc...
    Nom de la voie : Pierre de Coubertin ou autre
    Nom de ville : Angouleme
    Code postal : 16000
    CEDEX :
    Département : charente
    Pays : France

    pour la création des tables de la base de donnée il faut se poser des questions sur la relation des éléments entre eux.
    est-ce que une ville peut avoir plusieurs code postal on serait tenter de répondre non mais dans la réalité c'est oui car certain bâtiment administratif peuvent avoir un code postal différent de la ville ou ils sont
    Angouleme 16000 alors que certain bâtiment administratif peuvent avoir un code postal du style 16010
    et plusieurs ville peuvent avoir le même code postal
    Donc dans ce cas là il y aura une relation de plusieurs à plusieurs
    on créera une table ville et une table code postal et une table intermédiaire

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 933
    Points : 51 748
    Points
    51 748
    Billets dans le blog
    6
    Par défaut
    il n'y a pas de dépendances fonctionnelle élémentaire entre une ville et un code postal.
    Exemple :
    PARIS => plus de 20 codes postaux (1 par arrondissement et pour certains plusieurs comme 75116)
    Code postal 83670 attribué à plusieurs communes (Barjols, Pontevès…)
    Le code postal ne donne absolument pas le n° du département… Certaines communes sont desservies postalement par un bureau situé dans le département voisin…
    exemple Laveyrune a pour code postal 48250 (48 étant le code de la Lozère), alors qu'elle est située dans l'Ardèche (07)
    Autre exemple : 99999 PARIS concours

    Enfin, il ne faut pas créer d'intégrité référentielle entre une table de code postaux données par La Poste, et vos tables d'adresse car les codes changent chaque année et le seul moyen de recharger l'ensemble des références est de vider la table des codes postaux puis de la re remplir par import.

    Pour ce qui concerne les éléments d'adresse postale proprement dite, les données se limitent à la présence de la boîte postale qui le plus souvent est au niveau du RDC de l'immeuble.

    Le reste constituant des indications complémentaires de livraison, peuvent être rajoutes sous forme semi structuré par exemple en XML :
    étage, porte, n° de digicode, bâtiment, cage d'escalier…

    A +

Discussions similaires

  1. RNVP - Normalisation d'adresse postale
    Par cyraile dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/07/2008, 16h37
  2. Séparer en 3 ligne une adresse postale
    Par Raph31 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 12/05/2008, 22h06
  3. Réponses: 5
    Dernier message: 26/12/2007, 11h51
  4. Parsing adresse postale
    Par abbenoit dans le forum Langage
    Réponses: 3
    Dernier message: 15/10/2007, 11h24
  5. verification adresse postale
    Par manu80000 dans le forum Delphi
    Réponses: 2
    Dernier message: 28/06/2006, 13h27

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