Shell$ createlang plpgsql -d nom_base
Shell$ psql -d nom_base -f /usr /share / postgresq l /9 .1/ c on trib/
postgis - 2.0 / po stgis. sql
Shell$ psql -d nom_base -f /usr /share / postgresq l /9 .1/ c on trib/
postgis -2.0/ spatial_ref_ sys. sql
La commande createlang langName -d nom_base définit un nouveau langage procédural qui
sera utilisé par PostgreSQL sur la base de données spécifiée. Ici c’est le langage plpgsql qui est
chargé car il permet d’exécuter des fonctions couramment utilisées par PostGIS.
La commande psql -d nom_base -f /cheminvers/postgis.sql permet de charger les types
de colonnes, les fonctions géographiques et les tables associées qui sont utilisées par PostGIS.
La commande psql -d nom_base -f /cheminvers/spatial_ref_sys.sql permet de charger
dans la base de données, la table spatial_ref_sys qui contient environ 300 systèmes de références
spatiales et les détails nécessaires aux transformations de coordonnées géographiques dans ces
systèmes.
Maintenant que vous avez toutes les cartes en main, vous allez pouvoir démarrer le TP propre-
ment dit.
2 Création de la structure et peuplement de la base
La base de données que nous allons créer et peupler correspond en partie à celle que vous
avez modélisé lors du TD de modélisation conceptuelle. Nous vous redonnons ci-dessous le schéma
conceptuel correspondant (Figure 1).
Pour gérer la généralisation/spécialisation, nous avons le choix d’utiliser la deuxième solution
c’est à dire que les trois classes concernant les parcelles ne vont donner qu’une seule table parcelle
dans la base avec tous les attributs numCadastre,surfaceParc,geometrie,COS et typeCulture.
2.1 Création et peuplement des tables
La création des tables contenant des objets géographiques se fait en 2 étapes :
1. création des tables et attributs classiques sans la composante spatiale ;
2. ajout de la composante spatiale des objets géographiques : pour chaque table, création d’une
colonne géométrique.
Dans ce TP, vous allez créer et peupler la base de données de deux manières :
1. directement en tapant la commande dans un terminal ;
2. en exécutant des scripts regroupant plusieurs commandes.
2.1.1 Création des tables sans composante spatiale
Créez la table commune en tapant la commande SQL correspondante dans le client psql. L’at-
tribut numINSEE sera la clé primaire de la table, l’attribut nomCom sera une chaîne de longueur
maximale 256 caractères et l’attribut surfaceCom de type real (c’est le type qui correspond à un
nombre à virgule dans PostgreSQL). Attention l’attribut geometrie ne doit pas être ajouté pour
le moment.
Rappel : Pour créer une table en SQL, il faut utiliser la commande create table [nom_table]
(att1 type [not null primary key], att2 type, . . .);
Vérifiez la structure de la table commune, puis exécutez le script Creation.sql pour créer les
autres tables dans la base. Listez les tables qui viennent d’être créées dans la base.
4