31 janvier 2007 Master I Géo-Environnement
INTRODUCTION Introduction - Généralités SQL (Structured Query Language) est un LDD (Language de Définition de Données) Créer / modifier / supprimer tables LMD (Language de Manipulation de Données) Sélectionner / insérer / modifier / supprimer données dans une table LCD (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]
REQUETES SQL ATTRIBUTAIRES Les opérateurs sur les attributs Opérateur de restriction WHERE Opérateurs logiques AND OR NOT Comparateurs de chaînes IN BETWEEN LIKE Opérateurs arithmétiques + - * / % Comparateurs arithmétiques =!= > < >= <= <>!>!< Table exemple : Arbres
REQUETES SQL ATTRIBUTAIRES Sélection simple Sélectionner tout Select * From Arbres Sélection de certaines colonnes Select Espece,EtatPhytosanitaire From Arbres
REQUETES SQL ATTRIBUTAIRES Sélection sur critère(s) Sélection sur un critère Select * From Arbres Where AnneePlantation < 1970
REQUETES SQL ATTRIBUTAIRES Sélection sur critère(s) Sélection multi-critère Select * From Arbres Where EtatPhytoanitaire = "Malade" And Zone = "Z3"
REQUETES SQL ATTRIBUTAIRES Sélection sur critère(s) Sélection multi-critère (les deux requêtes donnent le même réultat...) Select * From Arbres Where AnneePlantation > 1800 And AnneePlantation <= 1900 Select * From Arbres Where AnneePlantation Between 1801 And 1900
REQUETES SQL ATTRIBUTAIRES Sélection avec ordonancement Ordonancement simple Select * From Arbres Order By Espece ASC
REQUETES SQL ATTRIBUTAIRES Sélection avec ordonancement Ordonancement multiple Select * From Arbres Order By Espece ASC, AnneePlantation ASC
REQUETES SQL ATTRIBUTAIRES Sélection sur chaines de caractères Avec des caractères joker (Espèces dont la deuxième lettre est un "h" Select * From Arbres Where Espece Like "_h
REQUETES SQL ATTRIBUTAIRES Sélection sur chaines de caractères Sélection dans un ensemble de valeurs Select * From Arbres Where Espece In ("Micocoulier", "Myosotis")
REQUETES SQL ATTRIBUTAIRES Sélection avec regroupement Sélection distincte Select Espece From Arbres Group By Espece
REQUETES SQL ATTRIBUTAIRES Sélection avec regroupement Avec la clause GROUP BY AVG COUNT MAX MIN SUM Permet d effectuer des statistiques sur les résultats de requêtes
REQUETES SQL ATTRIBUTAIRES Sélection avec regroupement Compter le nombre d arbres sains et malades (avec création d une colonne "NbArbres") Select EtatPhytosanitaire, count(*)"nbarbres" From Arbres Group By EtatPhytosanitaire
REQUETES SQL ATTRIBUTAIRES Sélection avec regroupement Compter le nombre d arbres sains et malades par espèce et trier par nom d espèce Select Espece, EtatPhytosanitaire, count(*)"nbarbres" From Arbres Group By Espece, EtatPhytosanitaire Order By Espece Asc
JOINTURES Jointure (Θ-jointure) Une jointure est un produit cartésien de deux tables Une équijointure est une Θ-jointure dont la qualification est une égalité entre deux colonnes En SQL : préciser le nom des colonnes des tables sur lesquelles on fait la jointure avec le qualificatif WHERE Seconde table exemple : Techniciens
JOINTURES Jointure (Θ-jointure) Sélection des espèces et des états phyto-sanitaires dans la table Arbres et des noms de techniciens dans la table ZoneTechnicien La jointure se fait sur la colonne Zone qui est commune aux deux tables Select Arbres.Espece, Arbres.EtatPhytosanitaire,Technicien.Technicien From Arbres, Technicien Where Arbres.Zone = Technicien.Zone
REQUETES 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élection dans la(es) table(s) et dans les objets géographiques) Contains : A "contains" B le centroïde de B est dans A Contains entire : A "contains entire" B B est dans A Within : A "within" B le centroïde de A est dans B Entirely within : A "entirely within" B A est dans B Intersects : A "intersects" B A et B sont d intersection non nulle
REQUETES SQL SPATIALES Les opérateurs spatiaux Les requêtes spatiales se font grâce à l attribut obj Fonctions sur les objets géographiques CartesianArea CartesianPerimeter ObjectLen Centroid... Possibilité de combiner requêtes attributaires et spatiales
REQUETES 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
REQUETES 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
REQUETES SQL SPATIALES Les opérateurs spatiaux Sélection des bâtiments qui intersectent une limite communale Select * from Batiment, Communes where Batiment.obj Intersects Commune.Obj
REQUETES SQL SPATIALES Les opérateurs spatiaux Sélection des bâtiments qui intersectent une limite communale Select * from Batiment, Communes where Batiment.obj Intersects Commune.Obj
REQUETES SQL MIXTES Requêtes SQL mixtes Sélection des bâtiments de plus de 800 m2 situés sur la commune de Boulogne-Billancourt Select * from Batiment, Commune where Batiment.obj intersects Commune.obj and Commune.Nom Like "Boulogne%" And CartesianArea(Batiment.obj, "sq m") > 800
REQUETES SQL MIXTES Requêtes SQL mixtes Sélection des bâtiments de plus de 800 m2 situés sur la commune de Boulogne-Billancourt Select * from Batiment, Commune where Batiment.obj intersects Commune.obj and Commune.Nom Like "Boulogne%" And CartesianArea(Batiment.obj, "sq m") > 800
L INTERFACE SQL DE MAPINFO L interface de Mapinfo Accessible par le menu Query > SQL select... Permet d automatiser l écriture des requêtes à partir d une interface graphique
L INTERFACE SQL DE MAPINFO L interface de Mapinfo 1 1 On commence par sélectionner les tables 2 On sélectionne ensuite les colonnes des tables 3 On écrit la ou les conditions de sélection 4 On choisit (éventuellement) des regroupements et des ordonancements
L INTERFACE SQL DE MAPINFO L interface de Mapinfo 1 1 On commence par sélectionner les tables 2 On sélectionne ensuite les colonnes des tables 3 On écrit la ou les conditions de sélection 4 On choisit (éventuellement) des regroupements et des ordonancements
L INTERFACE SQL DE MAPINFO L interface de Mapinfo 1 2 1 On commence par sélectionner les tables 2 On sélectionne ensuite les colonnes des tables 3 On écrit la ou les conditions de sélection 4 On choisit (éventuellement) des regroupements et des ordonancements
L INTERFACE SQL DE MAPINFO L interface de Mapinfo 1 2 1 On commence par sélectionner les tables 2 On sélectionne ensuite les colonnes des tables 3 On écrit la ou les conditions de sélection 4 On choisit (éventuellement) des regroupements et des ordonancements
L INTERFACE SQL DE MAPINFO L interface de Mapinfo 1 2 3 1 On commence par sélectionner les tables 2 On sélectionne ensuite les colonnes des tables 3 On écrit la ou les conditions de sélection 4 On choisit (éventuellement) des regroupements et des ordonancements
L INTERFACE SQL DE MAPINFO L interface de Mapinfo 1 2 4 1 On commence par sélectionner les tables 2 On sélectionne ensuite les colonnes des tables } 4 3 3 On écrit la ou les conditions de sélection 4 On choisit (éventuellement) des regroupements et des ordonancements