LINUX:Création de la base de données
→ retour à la page du menu sur l'API de GéoLocalisation
But
La base de données est un élément fondamental.
La base clé en main
La première option est de créer la base de données et d'y injecter les données de la Belgique et de la France déjà créee. Cette injection se fait dans un serveur MariaDB.
Un fichier SQL est disponible ci-dessous:
Télécharger le fichier ZIP des données pour la Belgique et la France sous forme SQL
Il faut le dézipper avec la commande suivante:
unzip Dblocalisation.sql.zip
Ce fichier est conçu pour un schéma portant le nom "dblocalisation". Si vous désirer changer de nom de schéma, il faut éditer ce fichier et changer dans les 30 premières lignes les occurrences "dblocalisation" par le nom désiré au niveau des commandes "DROP SCHEMA", "CREATE DATABASE" et "USE".
Pour créer ce schéma et importer les données, voici un exemple de script:
#!/bin/bash CHEMIN=/produc/mysql.import DBUSER=root DBPW=MonMotDePasse LISTE="dblocalisation" for DB in $LISTE do echo $DB /usr/bin/mysql --user=$DBUSER --password=$DBPW < ${CHEMIN}/$DB.sql done
Dans ce script, le schéma se nomme "dblocalisation" (5ème ligne). A adapter si nécessaire. Notons que ce script doit être exécutable.
Le fichier SQL à utilisé se trouve dans le répertoire "/produc/mysql.import" (2ème ligne) et se nomme du nom du schéma "dblocalisation.sql". A adapter selon vos désirs.
L'utilisateur MariaDB ayant tous droits est ici "root" (3ème ligne). A adapter selon votre installation.
Son mot de passe (4ème ligne) est à changer selon votre configuration.
Création de base du schéma
L'autre solution est de créer le schéma à vide et ensuite de la remplir à partir des données collectées sur le net.
Un fichier d'un ensemble de script est disponible ci-dessous:
Télécharger le fichier ZIP contenant un ensemble de scripts
Il faut le dézipper avec la commande suivante:
unzip Geolocalisation.base.zip
La première chose à faire est le paramétrage. Dans le répertoire extrait, il y a un fichier "config.bat" dont voici le contenu.
#!/bin/bash BASE=/produc/geo BASESQL="\/produc\/geo" DATABASE=dblocalisation DBUSER=root DBPW=MonMotDePasse OPTION=" -vv --show-warnings "
Il faut adapter sont contenu:
- Les lignes 2 et 3 correspondent au répertoire où se trouve ce fichier "config.bat".
- La valeur de la viariable "DATABASE" est changer selon vos désirs.
- La variable "DBUSER" correspond à un utilisateur de MariaDB ayant tous les droits.
- La variable "DBPW" contient le mot de passe de l'utilisateur mentionné sous la variable DBUSER.
- La variable "OPTION" renseigne des options à utiliser avec la commande de ligne "mysql"; elle peut être vidée.
Ensuite vous allez dans le sous-répertoire "commun/base". Le script "base.sql" permet de créer le schéma de base strictement nécessaire. Il crée les tables "commune" et "rue". En consultant le fichier "create.base.sql", vous pouvez vous informer du contenu de ces tables. Les noms de champs sont assez explicites.
Par la même occasion, ajoutez les fonctions MySQL fournies en exécutant le script "fonction.bat" qui se trouve dans le même répertoire. Une de celles-ci sera nécessaire par la suite. La fonction "proper" permet de transformer le contenu d'un champs en nom propre. Par exemple, le nom de commune "fosses-la-ville" devient "Fosses-La-Ville".
Avant d'exécuter ces scripts, assurez-vous qu'ils sont bien exécutables. Tous les scripts à exécuter ont l'extension ".bat" (nostalgie du DOS); vous pouvez changer ces droits avec la commande de ligne suivante:
chmod 700 *.bat
Pour remplir ce schéma, on verra ce point dans l'article suivant.
→ retour à la page du menu sur l'API de GéoLocalisation