La gestion des tables d’une base de données SpatiaLite avec QGis 2.8

La gestion d’une base de données SpatiaLite est très simple. Le gestionnaire de base de données de QGis fournit les fonctions pour créer, renommer, modifier, supprimer et vider les tables à l’aide des outils disponibles dans le menu Table du gestionnaire. Dans cet article nous verrons en détail chacun de ces outils.

Création d’une table SpatiaLite

Il est assez facile de créer de nouvelles tables à l’aide du gestionnaire de base de données. Lorsque vous créez une nouvelle table, vous pouvez spécifier si elle sera une table spatiale ou une table non spatiale.
Nous allons créer une nouvelle table spatiale dans SpatiaLite pour stocker des données sur des sondes bathymétriques. Pour ce faire, nous disposons de deux moyens:

  • Pour créer rapidement une nouvelle couche de SpatiaLite (et éventuellement une base de données) directement à partir de la fenêtre de QGis, cliquez sur Couche | Créer une couche | Nouvelle couche SpatiaLite… ou utilisez le raccourci clavier Ctrl + Maj + A

créer une table SpatiaLite directement à partir de QGis

  • A partir du gestionnaire de base données:

1. Ouvrez le gestionnaire de base de données en cliquant sur Gestionnaire de base de données sous Base de données. Développez SpatiaLite et sélectionnez la base de données dans laquelle vous voulez créer une nouvelle couche.
2. Cliquez sur Table | Créer une Table pour ouvrir la fenêtre Créer une Table.
3. Entrez le nom de table (ici Sondes).
4. Cliquez sur le bouton Ajouter un champ pour ajouter un nouveau champ de la table. Une nouvelle ligne apparaîtra dans la liste des champs. Définissez le champ nom et type pour chaque attribut souhaité.
5. Définissez le champ de clé primaire. Il faudra que les noms de ce champ soient uniques pour chaque enregistrement.
7. Sélectionnez Créer une colonne géométrique, puis choisissez les options suivantes :

  • Le Type de géométrie: POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTYPOLYGON, GEOMETRY COLLECTION
  • Le nom du champ géométrique
  • Le nombre de Dimensions : 2 si XY, 3 si XYZ
  • Le SCR (SRID) c’est à dire le code EPSG du système de coordonnées

8. Sélectionnez Créer un Index spatial pour créer un index pour la table.
9. votre dialogue doit ressembler à la capture d’écran suivante. Si c’est le cas, cliquez sur le bouton créer pour créer la nouvelle table.
fenêtre créer une table du gestionnaire de base de données de qgis 2.8
10. Si la table est créée avec succès, un message confirme que tout s’est bien passé. Fermez la boîte de dialogue, puis cliquez sur le bouton Fermer pour fermer la fenêtre Créer une table.
11. pour afficher la nouvelle table, vous devrez actualiser l’arborescence en sélectionnant la base de données SpatiaLite dans l’arborescence puis cliquer sur Actualiser sous Base de données ou appuyer sur la touche F5 de votre clavier. Notez que la table créée aura l’icône correspondante au type de couche (point, ligne,…) ce qui indique que c’est une table spatiale avec une géométrie.

résultat de la créatiuon d'une table avec le gestionnaire de base de données de qgis

Renommer une table

Pour renommer une table, procédez comme suit :
1. Ouvrez le gestionnaire de base de données. Dans l’arborescence, développez l’arborescence et sélectionnez la base de données contenant la table que vous souhaitez renommer.
2. Dans l’arborescence, sélectionnez la table que vous souhaitez modifier. Faites un clic droit sur la table et choisissez Renommer dans le menu contextuel pour le renommer.

Modification des propriétés d’une table

Pour modifier les propriétés d’une table, effectuez les opérations suivantes :
1. Ouvrez le gestionnaire de base de données en cliquant sur Gestionnaire de base de données  sous Base de données. Dans l’arborescence, développez l’arborescence et sélectionnez la base de données contenant la table que vous souhaitez modifier.
2. Dans l’arborescence, sélectionnez la table que vous souhaitez modifier. Cliquez sur Table | Éditer la table pour ouvrir la fenêtre de propriétés de la table.
3. la fenêtre de propriétés de la table (illustrée dans la capture d’écran suivante) comporte trois onglets, index, colonnes et contraintes — qui permettent la modification de certaines propriétés de la table

propriétés de la table spatialite

Les onglets et les boutons grisés correspondent à des opérations non supportées par SpatiaLite. Ceci ne veut pas dire que vous ne pouvez absolument pas les réaliser, mais qu’il vous faudra un autre outil. Vous pouvez télécharger et installer, par exemple, DB Browser for SQLite, un outil OpenSource qui vous permettra une gestion plus complète de votre base de données SpatiaLite.

L’onglet colonnes répertorie tous les champs, leur type, si des valeurs null sont autorisées, et leurs valeurs par défaut. Sous la liste des champs, il y a quatre boutons. Le bouton  ajouter une colonne ouvre une fenêtre et vous permet de créer un nouveau champ et spécifier ses propriétés. Le bouton  ajouter une colonne de géométrie ouvre une fenêtre et vous permet de créer un nouveau champ de la géométrie et spécifier ses propriétés. Les boutons éditer et supprimer sont désactivés.
SpatiaLite ne supporte pas les commandes de modification de table, comme éditer et supprimer des champs existants. Vous pourrez les réaliser avec DB Browser for SQLite.
L’onglet contraintes répertorie toutes les contraintes sur la table ; leur nom, leur type et les colonnes qui sont touchée par les contraintes.
SpatiaLite ne prend pas en charge les ajouts ou suppressions d’une contrainte d’une table existante : par conséquent, ces options sont désactivées.Vous pourrez les réaliser avec DB Browser for SQLite.

onglet index des proipriétés d'une table spatialite
L’onglet Index répertorie tous les index sur la table, leur nom et  les colonnes qui font partie de l’index. Le bouton ajouter un index ouvre une fenêtre qui vous permet de créer un nouvel index en sélectionnant le champ d’index et en fournissant un nom d’index. Le bouton Ajouter un index spatial ajoute un index spatial à la table. Cette option n’est disponible que si la table possède un champ de  géométrie. Le bouton Supprimer un index  supprime l’index sélectionné.

Suppression d’une table

Il existe deux façons de supprimer une table dans une base de données au sein de QGIS : en utilisant le panneau PARCOURIR dans QGIS ou en utilisant le gestionnaire de base de données.
Pour supprimer une table à l’aide du panneau Parcourir dans QGIS Desktop, développez la base de données dont vous souhaitez supprimer une table, puis faites un clic droit sur la table et choisissez Supprimer la couche.
Pour supprimer une table à l’aide de DB Manager, ouvrez le gestionnaire de base de données. Dans l’arborescence, développez la base de données contenant la table que vous souhaitez supprimer. Faites un clic droit sur la table dans l’arborescence et choisissez Effacer dans le menu contextuel.

Vider une table

Pour supprimer tous les enregistrements d’une table sans supprimer la table, ouvrez le gestionnaire de base de données. Dans l’arborescence, développez l’arborescence et sélectionnez la base de données contenant la table que vous souhaitez vider. Dans l’arborescence, sélectionnez la table que vous souhaitez vider. Cliquez ensuite sur Table -> Vider la table.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *