32
Mapinfo et les requêtes SQL Mapinfo et les requêtes SQL Olivier Tournaire Université de Marne-la-Vallée 31 janvier 2007 Master I Géo-Environnement Olivier Tournaire Université de Marne-la-Vallée Mapinfo et les requêtes SQL

Mapinfo et les requêtes SQL - loiret.gouv.fr · Mapinfo et les requêtes SQL Mapinfo et les requêtes SQL Olivier Tournaire Université de Marne-la-Vallée 31 janvier 2007 Master

Embed Size (px)

Citation preview

Mapinfo et les requêtes SQL

Mapinfo et les requêtes SQL

Olivier Tournaire

Université de Marne-la-Vallée

31 janvier 2007Master I Géo-Environnement

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLINTRODUCTION

Introduction - Généralités

SQL (Structured Query Language) est unLDD (Language de Définition de Données)_ Créer / modifier / supprimer tablesLMD (Language de Manipulation de Données)_ Sélectionner / insérer / modifier / supprimer donnéesdans une tableLCD (Language de Contrôle de Données)_ Définir des permissions au niveau des utilisateurs

Commande principale : SELECT (algèbre relationnelle)_ SELECT <liste des noms de colonnes> | * FROM<liste des noms de tables> [WHERE <condition>][GROUP BY] [HAVING] [ORDER BY]

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES

Les opérateurs sur les attributsOpérateur de restriction

WHEREOpérateurs logiques

AND OR NOTComparateurs de chaînes

IN BETWEEN LIKEOpérateurs arithmétiques

+ - * / %Comparateursarithmétiques

= != > < >= <=<> !> !<

Table exemple : ArbresOlivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES

Sélection simpleSélectionner tout_ Select * From ArbresSélection de certaines colonnes_ Select Espece,EtatPhytosanitaire From Arbres

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES

Sélection sur critère(s)

Sélection sur un critère_ Select * From Arbres Where AnneePlantation < 1970

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES

Sélection sur critère(s)

Sélection multi-critère_ Select * From Arbres Where EtatPhytoanitaire ="Malade" And Zone = "Z3"

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES

Sélection sur critère(s)

Sélection multi-critère (les deux requêtes donnent lemême réultat ...)_ Select * From Arbres Where AnneePlantation > 1800And AnneePlantation <= 1900_ Select * From Arbres Where AnneePlantation Between1801 And 1900

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES

Sélection avec ordonancementOrdonancement simple_ Select * From Arbres Order By Espece ASC

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES

Sélection avec ordonancementOrdonancement multiple_ Select * From Arbres Order By Espece ASC,AnneePlantation ASC

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES

Sélection sur chaines de caractères

Avec des caractères joker (Espèces dont la deuxièmelettre est un "h"_ Select * From Arbres Where Espece Like "_h

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES

Sélection sur chaines de caractères

Sélection dans un ensemble de valeurs_ Select * From Arbres Where Espece In ("Micocoulier" ,"Myosotis")

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES

Sélection avec regroupement

Sélection distincte_ Select Espece From Arbres Group By Espece

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES

Sélection avec regroupement

Avec la clause GROUP BY_ AVG COUNT MAX MIN SUMPermet d’effectuer des statistiques sur les résultats derequêtes

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES

Sélection avec regroupement

Compter le nombre d’arbres sains et malades (aveccréation d’une colonne "NbArbres")_ Select EtatPhytosanitaire, count(*)"NbArbres" FromArbres Group By EtatPhytosanitaire

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL ATTRIBUTAIRES

Sélection avec regroupementCompter le nombre d’arbres sains et malades par espèceet trier par nom d’espèce_ Select Espece, EtatPhytosanitaire, count(*)"NbArbres"From Arbres Group By Espece, EtatPhytosanitaire OrderBy Espece Asc

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLJOINTURES

Jointure (Θ-jointure)Une jointure est un produit cartésien de deux tablesUne équijointure est une Θ-jointure dont la qualificationest une égalité entre deux colonnesEn SQL : préciser le nom des colonnes des tables surlesquelles on fait la jointure avec le qualificatif WHERESeconde table exemple : Techniciens

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLJOINTURES

Jointure (Θ-jointure)Sélection des espèces et des états phyto-sanitaires dansla table Arbres et des noms de techniciens dans la tableZoneTechnicien_ La jointure se fait sur la colonne Zone qui est communeaux deux tables_ Select Arbres.Espece,Arbres.EtatPhytosanitaire,Technicien.Technicien FromArbres, Technicien Where Arbres.Zone = Technicien.Zone

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL SPATIALES

Les opérateurs spatiaux

Opérateurs spécifiques aux SIG_ Requêtes sur les objets géographiques⇒ Le résultat est à la fois attributaire et spatial (sélectiondans la(es) table(s) et dans les objets géographiques)Contains : A "contains" B ⇔ le centroïde de B est dans AContains entire : A "contains entire" B ⇔ B est dans AWithin : A "within" B ⇔ le centroïde de A est dans BEntirely within : A "entirely within" B ⇔ A est dans BIntersects : A "intersects" B ⇔ A et B sont d’intersectionnon nulle

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL SPATIALES

Les opérateurs spatiaux

Les requêtes spatiales se font grâce à l’attribut objFonctions sur les objets géographiques

CartesianAreaCartesianPerimeterObjectLenCentroid...

Possibilité de combiner requêtes attributaires et spatiales

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL SPATIALES

Les opérateurs spatiaux

Sélection des bâtiments de plus de 1000 m2

_ Select * from Batiment where CartesianArea(obj, "sq m")> 1000

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL SPATIALES

Les opérateurs spatiaux

Sélection des bâtiments de plus de 1000 m2

_ Select * from Batiment where CartesianArea(obj, "sq m")> 1000

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL SPATIALES

Les opérateurs spatiauxSélection des bâtiments qui intersectent une limitecommunale_ Select * from Batiment, Communes where Batiment.objIntersects Commune.Obj

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL SPATIALES

Les opérateurs spatiauxSélection des bâtiments qui intersectent une limitecommunale_ Select * from Batiment, Communes where Batiment.objIntersects Commune.Obj

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL MIXTES

Requêtes SQL mixtesSélection des bâtiments de plus de 800 m2 situés sur lacommune de Boulogne-Billancourt_ Select * from Batiment, Commune where Batiment.objintersects Commune.obj and Commune.Nom Like"Boulogne%" And CartesianArea(Batiment.obj, "sq m") > 800

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLREQUETES SQL MIXTES

Requêtes SQL mixtesSélection des bâtiments de plus de 800 m2 situés sur lacommune de Boulogne-Billancourt_ Select * from Batiment, Commune where Batiment.objintersects Commune.obj and Commune.Nom Like"Boulogne%" And CartesianArea(Batiment.obj, "sq m") > 800

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO

L’interface de MapinfoAccessible par le menu Query > SQL select ...Permet d’automatiser l’écriture des requêtes à partir d’uneinterface graphique

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO

L’interface de Mapinfo

1

1 On commence parsélectionner lestables

2 On sélectionneensuite les colonnesdes tables

3 On écrit la ou lesconditions desélection

4 On choisit(éventuellement) desregroupements etdes ordonancements

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO

L’interface de Mapinfo

11

1 On commence parsélectionner lestables

2 On sélectionneensuite les colonnesdes tables

3 On écrit la ou lesconditions desélection

4 On choisit(éventuellement) desregroupements etdes ordonancements

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO

L’interface de Mapinfo

111

2

1 On commence parsélectionner lestables

2 On sélectionneensuite les colonnesdes tables

3 On écrit la ou lesconditions desélection

4 On choisit(éventuellement) desregroupements etdes ordonancements

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO

L’interface de Mapinfo

111

2

1

2

1 On commence parsélectionner lestables

2 On sélectionneensuite les colonnesdes tables

3 On écrit la ou lesconditions desélection

4 On choisit(éventuellement) desregroupements etdes ordonancements

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO

L’interface de Mapinfo

111

2

1

2

1

2

3

1 On commence parsélectionner lestables

2 On sélectionneensuite les colonnesdes tables

3 On écrit la ou lesconditions desélection

4 On choisit(éventuellement) desregroupements etdes ordonancements

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL

Mapinfo et les requêtes SQLL’INTERFACE SQL DE MAPINFO

L’interface de Mapinfo

111

2

1

2

1

2

3

1

2

3

} 4

4

1 On commence parsélectionner lestables

2 On sélectionneensuite les colonnesdes tables

3 On écrit la ou lesconditions desélection

4 On choisit(éventuellement) desregroupements etdes ordonancements

Olivier Tournaire Université de Marne-la-ValléeMapinfo et les requêtes SQL