IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Blog de CinéPhil

Référentiel des pays en SQL

Noter ce billet
par , 27/09/2017 à 23h18 (2417 Affichages)
Devant insérer la liste des pays dans une base de données Postgresql, j'ai trouvé sur Internet un référentiel en SQL mais pour MySQL.
Postgresql n'a pas apprécié les fameuses apostrophes inversées que MySQL ajoute par défaut pour entourer les noms des éléments de la BDD (schéma, table, colonne...), lesquelles sont pourtant inutiles si ces éléments sont correctement nommés, c'est à dire si les noms ne comportent pas de caractères spéciaux ou s'ils ne sont pas interprétables comme des mots du langage SQL.

La consigne AUTO_INCREMENT a été rejetée également par Postgresql puisqu'il ne la connaît pas. Cette consigne était d'ailleurs inutile dans ce script puisque la table était déjà remplie.

D'autres petites choses ont également été refusées par Postgresql ; je ne vais pas tout détailler.

Je vous propose donc le code modifié en SQL standard, sans les fioritures propres à MySQL. Ce script SQL devrait normalement être accepté par tous les SGBD qui respectent un tant soit peu la norme SQL. À vous de l'adapter à votre SGBD si vous le souhaitez, ou d'ajouter après la création de la table les index...

referentiel-pays_V1.sql

EDIT du 29/09/2017 :
Je viens de trouver un autre référentiel des pays, datant de 2014, dans les fichiers à télécharger de Developpez.com. Celui-ci est plus complet quand aux éléments fournis (indicatif téléphonique , monnaie et suffixe Internet) mais il est, lui aussi pour MySQL. À noter aussi qu'il est en anglais.

J'ai donc fait la même démarche que pour l'autre fichier en supprimant, dans le script de création de la table, les apostrophes inversées et la référence au moteur MyISAM. J'ai également changé le nom de la colonne 'Type' (qui est un mot SQL) en 'Type_of_governance' et j'ai mis des underscore à la place des espaces dans les noms de certaines colonnes.
J'ai également changé la taille des colonnes en fonction du MAX(LENGTH()) de chaque colonne avec un peu de marge.
La NULLabilité des colonnes serait aussi à revoir et je n'ai pas testé l'implémentation sur Postgresql mais ça devrait passer sans problème.

ListPays.sql

Ces tables ne sont pas forcément à utiliser tel quel dans votre BDD mais plutôt servir de base de référence à votre table des pays dans votre base de données.

Envoyer le billet « Référentiel des pays en SQL » dans le blog Viadeo Envoyer le billet « Référentiel des pays en SQL » dans le blog Twitter Envoyer le billet « Référentiel des pays en SQL » dans le blog Google Envoyer le billet « Référentiel des pays en SQL » dans le blog Facebook Envoyer le billet « Référentiel des pays en SQL » dans le blog Digg Envoyer le billet « Référentiel des pays en SQL » dans le blog Delicious Envoyer le billet « Référentiel des pays en SQL » dans le blog MySpace Envoyer le billet « Référentiel des pays en SQL » dans le blog Yahoo

Mis à jour 29/09/2017 à 11h08 par CinePhil

Tags: pays, sql
Catégories
Base de données

Commentaires

  1. Avatar de alassanediakite
    • |
    • permalink
    Merci du partage.
    @+