Représentation et interrogation de données spatio-temporelles : Cas d'étude sur PostgreSQL/PostGIS

Dimension: px
Commencer à balayer dès la page:

Download "Représentation et interrogation de données spatio-temporelles : Cas d'étude sur PostgreSQL/PostGIS"

Transcription

1 UNIVERSITÉ LIBRE DE BRUXELLES Faculté s Scices Détemt d'informati Représtation interrogation spatio-temporel : Cas d'étu sur PostgreSQL/PostGIS Mémoire présté vue l'obttion du gra Master Scices Informatis Bouhya Suman Année académi

2

3 i Remerciemts dremt, Je tis sa tout disponibilité d'abord à remercier ses nombreux Monsieur conseils Zimányi, prodigués directeur tout au long ce mémoire, l'année. pour son ca- quoi Je ce tis mémoire suite n'aurait à remercier pu être Monsieur réalisé. Pekis pour m'avoir fourni sources d'hermes sans pour Je remercie ces judicieuses égamt remars Monsieur Devilrs recommdations. pour temps qu'il a consacré à corriger ce mémoire, aconsacréarépondreàmesquions,pourtoutesonaiausujsecondo. Merci égamt à Monsieur Düntg, membre du proj SECONDO, pour tous temps qu'il tout Enn, souti à titre qu'el plus m'a personnel, apporté je durant tis à ces remercier nombreuses ma mère années. pour Merci. ses couragemts pour

4 Tab s matières Remerciemts i Tab s gures v 1 Introduction Contexte. Problémati Objectifsdumémoire Organisationdumémoire Insusancesdumodèretionnel Donnéesspatia Introduction OpGeospatialConsortium Modélisationsconceptsspatiaux Extsiondumodè Extsiondungaged'interrogation Représtationsobjsspatiaux Outils Donnéemporel Introduction GiondutempsSGBDstandards Domainemporel Dimsiontemporel Extsiondumodè Extsiondungaged'interrogation Donnéesspatio-temporel Introduction Cssicationsspatio-temporel Modélisationinterrogationpositioncourante Modélisationinterrogationl'historispositions Introduction. SystèmypessousHermes Introduction Lypesbase Lypemporels Lypesspatiaux Lypesspatio-temporels Représtationphysiquypesspatio-temporel ii 2 État l'art 4 3 Hermes 33

5 iii Introduction Pointmobi Cercmobi/Rectangmobi Polylignemobi/Polygonemobi Colctionmobi Objmobi Opérationssurobjstypemobi Introduction Maintanceconsistancebase Prédicatsmodélisantretionstopologisdistances. Projection interaction sur domaine spatial sur domaine. temporel Opérationsnuméris. Opérations portant sur. distances directions s.. objs.... mobi Retionsd'semb Tauxchangemt Introduction. Architectured'Hermes Introduction ScriptTAU_TLL.sql ScriptHERMES.sql ScriptUTILITIES.sql Langaged'interfaceavecSGBD:PL/SQLversusPL/PgSQL Introduction Structured'bloc Variabconstantes. Typesstandards Structurescontrô Tabaux Fonctionsprocédures Erreursmessages Typesutilisateurnotiond'obj Cartouchespatia:OracSpatialversusPostGIS Interactionavecngagehôte Introduction ObjspatialsousOracSpatial:SDO_GEOMETRY ObjspatialsousPostGIS:GEOMETRY Fonctions Types Introduction. Etucas:tracroutiervilBerlin Introduction Tperformancespourbasesspatio-temporel Scénario Typesrepréstations Application Générationdujeu Introduction Evaluationsperformances Implémtationsréquêtesdutperformances Introduction TABLE DES MATIÈRES 4 Migration d'hermes d'orac vers PostgreSQL 51 5 Cas d'étu évaluation s performances d'hermes 70

6 TABLE DES MATIÈRES iv Préstationsrésultats Object-BasedApproachversusTrip-BasedApproach Hermes(sousPostgreSQL)versusSECONDO Conclusions développemts futurs Conclusions Développemtsfuturs Bibliographie 95 A Acronymes 97 B Dénitions formel types B.1 B.2 Dénitionformeltypesdonnéemporel Dénitionformeltypesspatio-temporel C Implémtation du t performances sous PostgreSQL C.1 C.2 Créationstabtemporaires Importationdujeu C.3 Créationstabutiliséesl

7 Tab s gures Niveauxd'abstractionsl'architectured'SGBD. Représtationviamodèretionnel:exemp Abstractionsfondamtabase:point,lignerégion. Abstractionsfondamtabase:titionréseau Diagrammecssesstypesgéométrisselonl'OGC. Objsspatiauxsimp:diértstypesd'objsCurve Objsspatiauxsimp:exempd'objstypePolygon. Conceptionlinéairedutemps Périosvaliditéssairesstitres Dénitionsintervaltempsvalis. Dimsionstemporel Représtation d' point mobi(a), d'e région mobi(b) d' réel mobi(c) Représtationtranchesd'réelmobi(a)d'pointmobi(b) SystèmypessousHermes. Diagramme csses s types géométris proposés..... sous... Orac.... Spatial Décompositiondudéveloppemttemporeld'pointmobi. Représtationd'umsegmt Diagrammecssesstypesspatio-temporelsd'Hermes Exempbnichées. Représtationd'cercmobid'rectangmobi Structured'epolylignemobi. Structured'polygonemobi Exemplroutemporel détectabl'opérateur check_me Projection d' point mobi sur domaine temporel(opérateur f_temp_emt) Opérateur f_ctroid Opérateurs Opérateur f_traversed. f_distance. f_direction Opérateur f_intersection Améliorations Traitemtd'blocPL/SQL. s performances d'... SGBD.... Orac.... avec... l'utilisation du.. PL/SQL SDO_GEOMETRY:exemppolygonontrivial(a)rectang(b) HiérarchiypesgéométrisproposéssousPostGIS PartitionnemtduréseauroutierBerlin.. Exempdistributionsn udsdomici (a)sn udstravail (b) v

8

9 Chapitre 1 Introduction 1.1 Contexte Dès De qu'il nos y jours, a e nécessité bases stocker constitut l'information c ur gran même quantité, tout système on d'informations. bases. nécessairemt traditionnel A l'origine, tel bases l'intité d' était clit, esstielmt l'adresse d' stinées fournisseur, à stocker quantité s informations disponib, rémération d' employé, c. Mais au l s années, l'usage s bases produits néess'fortemtétdu,notammtraisonl'apitionnouveauxtypesd'applications. don- on assiste Parmi ces à e rnières, véritab on explosion peut citer ce applications type d'application. mobi. El Depuis sont omnipréstes peu plus d'e sur décnie, ché s technologies: téléphonie mobi(gsm, smartphone,...), système géolocalisation(gps, mar- Galio,...), Nbooks, Tabl réseau PC,...), sans l(intern, c. Aujourd'hui, Wi-Fi, WiMax, mobilité Bluooth,...), s utilisateurs ordinateur vue personnel(pda, tant pour treprises pour consommateurs. Ainsi, grâce aux facteur clé, Location Based Services lstationserviceplusproche,ousuivreeottaxissavoirqu (LBS 1 )exemp,ittoutàfaitpossib,imtavecl'aisontéléphone,savoir taxi égamt:toujourspluslégerspluspluspuissants,avectoujourspluscapacités plus proche d' clit. Parallèmt à ces avancées technologis, apeils évolut stockage via réseau plus tel qu'intern débits, ce exemp. perm d'échanger rapimt grans quantités tème A d'informations coté s applications Géographis mobi, ou on SIG). peut égamt Ces rnières citer ont égamt applications fortemt géomatis évolué (Sys- rnières années. Initiamt cantonées au domaine cartographie, l'utilisation ces géographiss'répandueauseind'publicplusplusrge.onpeutexempvoir ssigsdomainrèsvariéstels: L'aiànavigation(ex:voiture); Le L'aménagemt géomarking(localisations du territoire; commercia optima, impntation points vtes); L'analyse La logisti; gion réseaux transports(routier, ferroviaire, gazier, éctricité); La Etc. protection l'vironnemt; 1An d'air cteur, résumé s principaux acronymes utilisés ce mémoire repris annexe. 1

10 CHAPITRE 1. INTRODUCTION 2 L'apition ces nouvel applications a eu pour e fortemt diversier nature s informations à stocker, même occasion, a compxié gion manipution ces informations. 1.2 Problémati composantes La principa spatia diculté /ou gdrée temporel. En applications e, dénition, citées ci-ssus obj mobi prise compte sedépcemps,àinstantdonné,srouveàdroitprécis.maiscommt obj gérersonévolutionmps/oul'espace?etcommtreprésterobjcompxe représter ce type d'obj e base? Commt représter commt tel généramt qu'e vil via ou e modè rivière retionnel. exemp? Nous Actuelmt, verrons modélisation suite ce modè s insusant s'eectue pour domaine(spatial ces types d'applications. /ou temporel), De nombreux ils ont permis travaux ont dénir été réalisés nouveaux ces rnières modè années permtant répondre( tie) à ce problème. réel Maismodélisationcesn'paseulproblème.Ene,applicationstemps- volumineux exemp(gps,, plus, el LBS) sont manipunt soumises généramt à s contraintes s ux temporel(ex: fournir peuvt être itinéraire assez avant ces ux : certain commt déi). représter Ce nous conduit stocker tout naturelmt façon à pouvoir à nous interroger analyser sur gion manipur façon ecace? Commt exploiter ecacemt ces ux? composante Les principaux spatia, acteurs ils ont du marché chac se fourni sont pchés support(modu sur ces problématis. ou cartouche) En spatial ce disponib concerne commerciamt l'analyse reprant spatia: semb fonctionnalités permtant stockage, gion Orac:OracLocatorOracSpatial(puisversion8) DB2:DB2SpatialExtrDB2GeoticExtr Sybase: PostgreSQL: Spatial PostGIS Query Server MySQL:MySQLSpatial Enceconcernecomposantemporel,iln'existemalheureusemtpasàcejourmodu telsceuxci-ssus.ene,upporttemporel(extsion,upportspatio-temporel) fait mt, cruelmt plut défaut s SGBD propost systèmes s attributs gion temporels bases (SGBD). Bi évim- date suite qu'ils sont insusants. Plusieurs travaux ont été réalisés ou ces time, rnières mais années nous verrons sant s extsions temporel, dont certaines sont rapportées [2], mais auce n'a propo- naissance à e réel extsion temporel. donné 1.3 Objectifs du mémoire temporel L'objectif pour ce mémoire SGBD, PostgreSQL. premier Concrètemt, temps, il fournir s'agira e migrer première e extsion extsion spatio- nom d'hermes [21, 22]), initiamt développée pour SGBD Orac, vers PostgreSQL. Dans (du basera second sur temps, semb e étu requêtes s performances proposé cte t extsion performances sera réalisée. (égamt Cte analyse appelé se point référce ou bchmark performances d' SGBD spatio-temporel. an angis) [4, L'semb 23], apu ces juin ts 2008, s'appuiera perm sur d'évaluer issudutracroutiervilberlinautourdulscénarioaétéconçu.ainsi, jeu

11 CHAPITRE 1. INTRODUCTION 3 ce second objectif doub : d'e t, il visera à avoir e vision l'utilisabilité d'hermes s fonctionnalités qu'il propose cas concr, d'autre t, il permtra d'avoir e vision sur performances d'hermes sous PostgreSQL. 1.4 Organisation du mémoire, Ce mémoire nous commcera verrons ls sont dénir problèmes certain nombre initiaux liés concepts à l'introduction liés au mon s bases pxes SGBD, notammt spatio-temporel. En e, dicultés com- à gion spatio-temporel sont trip. El sont non seumt liées à l'aspect liées spatial (spatio-temporel). s, Pour mais cte égamt raison, à nous l'aspect dénirons temporel, à second combinaison temps ces diérts ces ux aspects aspects s rons égamt nous l exposerons ont été solutions principaux apportées problèmes pour liés tter à chac résoudre. ces rniers. Nous ver- Le diérts troisième élémts chapitre s'intéressera compost. à l'extsion Après avoir Hermes brièvemt [21, 22] présté nous son verrons histori, détails verrons diérts types qu'il supporte. Nous verrons égamt commt ces types nous sontrepréstésphysimt,nousverronssexempd'opérationssurcypes. Orac Lequatrièmechapitres'attarrasurprincipaétapesmigrationd'HermessSGBD rons commt vers SGBD diértes PostgreSQL. ties Pour ce, compost nous verrons ont été l'architecture migrées. d'hermes, nous ver- proposées Le cinème Hermes chapitre à concernera l'évaluation mise ses performances. prati, Nous cas verrons concr, quoi s consiste fonctionnalités performances [4] sur l cte thèse se base, nous verrons sur l jeu t l scénario il se base pour formur ces requêtes. Nous verrons égamt l sont étapes sur nécessaires à l'exécution ces requêtes(sur jeu quion) sous PostgreSQL. obtus Enn, au ce chapitre mémoire précént, se terminera mais égamt e conclusion panorama reprdra non-exhaustif non seumt s travaux futurs résultats pourrait être visagés sur suj.

12 Chapitre 2 État l'art Danscechapitre,nousallonsprésterétatl'artsurrepréstationl'interrogation aux SGBD, spatio-temporel. nous verrons Dans insusances premier du temps, modè après retionnel avoir rappelé ( certaines à ce jour notions modè propres plus courammt utilisé) modélisation spatio-temporel. Ces insusances ont temps, montré commt nécessité composantes d'améliorer spatia représtation / temporel s, ont été prises nous verrons, compte. Enn, second verrons diculté posée prise considération d'informations spatia nous nousverronslssonttravauxcourssuruj. temporel, 2.1 Insusances du modè retionnel manipution Un système d'e gion base. base Cte rnière (SGBD) généramt e suite utilisée logiciels permtant plusieurs applications, ). An chace d'accroître n'ayant besoin performances d'e d' tie SGBD, s l'utilisation (principe simultanée ctralisation d'e base s esstiel. Cepdant, cte simultanéité peut conduire à s inconsistances (incohérces). même compte Par bancaire. exemp, On supposons pourrait avoir ux applications situation suivante: rirt simultanémt l'argt d' COMPTE= Rrait 1 = Calcul:COMP T E =8000 Rrait 2 = 3000 Miseàjour COMP T E COMP T E-3000 =7000 COMP T E=8000 Miseàjour COMP T E COMP T E=7000 simp Louveausot7000 raison uxième alorsqu'ilvraitêtre5000 rrait a débuté avant premier.d'oùvitproblème?de Dèslors,uxièmerraitsebasaitsurevaur ne mte à jour sol. COMP T E e s tâches d' SGBD d'assurer transce du tage n'étaitplusvab.ainsi, cesrnières.pource,sgbdvafournirevuespropreàchaapplication, s cohérce tages).and'assurercohérces,sgbdsebaserasurnotion comme si cte rnière était seu à travailr avec base (transce du transaction. ou plusieurs Lorsqu'e requêtes) s sur applications base, fera traitemt ce traitemt ( sera traitemt capsulé étant à l'intérieur constitué d'e transaction. Un traitemt sera considéré comme cohért imt si toutes requêtes d'e constitut se seront eectuées correctemt(traitemt = ité d'exécution atomi). Dans ce tions cas, apportées base seront visib passera l'semb d' état s cohért applications à autre accédant état cohért, à base. modica- Par 4

13 CHAPITRE 2. ÉTAT DE L'ART 5 contre, l'étatinitial(auc si au moins e s changemt). requêtes n'a Ainsi, pas été réalisée transactions correctemt, sont isolées es base rapport rera autres. aux L'architecture niveau d' SGBD constituée plusieurs niveaux d'abstractions: physi mt géré système : il s'agit d'exploitation du stockage s doit, sur exemp, (s) dis(s); veilr à il sécurité principa- conntialité s (droits d'accès), gérer concurrce d'accès aux tout à tant assurant d'optimiser s accès certaines performants requêtes), via contrôr l'utilisation transferts d'inx (élémt tre mémoire redondance principa perm- mémoire secondaire, c.; niveau logi si) l'organisation (conceptuel) s : il perm d'orir représter aux utilisateurs (indépdammt e vision du simpliée stockage phy- ; ces niveaux externes propres à cha application : il s'agit accédant s diértes à base visions. (vues externes) s sont Fig. 2.1 Niveaux d'abstractions l'architecture d' SGBD. dance Cte physi découpe s diérts perm niveaux modier perm d'assurer l'organisation l'indépdance physi s s. sans L'indép- l'organisation logi, alors l'indépdance logi s perm modier l'organisationlogissansmodiervuesexternes.c'rôdusgbdfaireli changer tre diérts niveaux. u Actuelmt, 1970, ce modè modè ore aux utilisateurs plus e courammt vision s utilisé sous modè forme retionnel. tabuire (ux Ap- dimsions). dénissant La fait gure : 2.2 employé illustre a e e retion. intité Cte (nom, rnière prénom), représte travail semb l'treprise d'attributs certain temps (anciné), perçoit msuelmt saire (saire brut), dépdant puis sa fonction. nom prénom anciné fonction saire brut Bounger Jacs 18 Directeur 3894 Dubois Sarah 11 Comptab 2709 Dupont Anne 2 Secrétaire 2086 Lopez Juan 7 Développeur Fig. 2.2 Représtation via modè retionnel: exemp. La manipution l'interrogation ces sont généramt eectuées via ngage SQL(Structured Query Language).InitiamtdéveloppéIBMannées1970 1,SQLa 1C' société Orac Corporation (à l'épo, Retional Software, Inc) présta première version commercia SQL 1979.

14 CHAPITRE 2. ÉTAT DE L'ART 6 étéadoptécommerecommandationansi (ISO/CEI 9075) ,puiscommormeinternational'ISO 3. simp A l'origine, interagissant SGBD avec était s applications conçus pour assez gérer simplistes. s bases Pour cte raison, stockant types s néesopérateursproposésmodèretionnelsontassezlimités(tier,ottant,texte, don- c.). ne prait De même, compte pour manipution s types s l'interrogation opérateurs simp. s, ngage SQL(à l'origine) ces Maisavecl'apitionnouvepplications(mobi,multimédia,3D,c.),ifalluétdre géographie, types c.). ces opérateurs an pouvoir gérer n'importe l type (image, vidéo, Une première ses insusance opérateurs. du Ainsi, modè il retionnel dici (voire vit impossib) donc l'insusance représter ses types traiter ecacemt s formes géométris(ex: frontières d'e région) ou s images exemp. but Une secon ne prdre insusance compte du modè informations retionnel vit liées du à l'état fait, qu'à courant l'origine, d' système il a été conçu d'informations(l'étatcernierétantdénirnièremiseàjour).al'épo,ceétaitconsidéré comme Or pour étant certaines normal applications, puis bases connaissance du ne passé se souciait (/ou du pas futur) l'historicité s informations s. s'avérer esstiel. Par exemp, mon s nances, prédiction du cours d'e action peut cte primordia. action. On Or pourrait cte prédiction égamt n' citer pas comme possib exemp sans connaissance prédictions météorologis, s cours passés ou core l'évolution démographi d'e popution. mouvemt(ex: Une troisième insusance véhicu du modè circu retionnel sur e route). liée Puis à diculté localisation représter l'obj obj lue continu, ce implira s mises à jour très fréntes, ce n' pas visageab évo- prati. obj Enn, vil on peut égamt constitué citer plusieurs diculté objs quartier, modéliser chac s objs ces compxes. rniers étant Par constitué exemp, plusieurs représter objs obj rue, vil eux-mêmes via modè sont retionnel. constitués d'objs Pour ce, bâtimt, on éctera c. l'obj Il serait sous possib d'emultitutab(quartier,rue,bâtimt,local,c.).maiscéctemtseraittrèscoûteux forme reconstituerl'obj,maisilnécessiteraitégamtsopérationsbeaucouppluscompxescas : non seumt il nécessiterait s opérations jointure 4 très compxes si l'on souhaitait d'accèsoumisesàjour. /ou Ainsi, temporel, modè non retionnel seumt n'a pas termes été conçu, à représtation l'origine, pour s supporter s mais égamt spatia termes d'opérateurs d'accès mises à jour. Il a donc fallu étdre ce modè ainsi ngage SQL. Heureusemt, s chercheurs se sont pchés sur cte problémati. 2http:// 3http:// 4Produit cartési plusieurs tab.

15 CHAPITRE 2. ÉTAT DE L'ART Données spatia Introduction convit Avant d'abord voir plus donner détail e commt dénition précise ce spatia type ont. été prises Selon considération, il l'op Geospatial Consortium (OGC) 5, e donnée spatia (ou donnée géospatia, ou core information géographi)déniecommeétanttoute information représtant localisation géographi caractéristis d'e tité (obj, phénomène) naturel ou construite l'homme, ainsi ses frontières terrres. Une donnée spatia représte e abstraction s tités du mon réel, tel routes, bâtimts, véhicu, cs, forêts spatia donc e base supportant stockage pays.[5]. traitemt Une base spatia. De niveau manière plus concrète, e donnée spatia caractérisée trois niveaux: sémanti nom d'e rue, d' euve, : il s'agit co l'semb postal d'e s localité, attributs sa caractérisant supercie, c.); donnée (ex : niveau topologi local se trouve : il bâtimt s'agit s retions se trouve liant lui-même e donnée spatia e localité, à e autre ou croisemt (ex : niveau tre ux rues, c.); géométri localisation donnée. : il s'agit l'semb s informations décrivant morphologie Lesprincipauxtravauxautoursbasesspatiaontpourobjectifsd'étdremodè ssgbdretionnelsngaged'interrogationsqlbutdénir: s s structures algorithmes performants représtant manipunt ecacemt ces structures s formes ; géométris; s technis d'inxation adaptées. Initiamtcantonnéeaudomainecartographieréservéeauxspécialistesdudomaine,l'utilisation s domaines spatia très variés s' tels fortemt géologie, étdue puis. génie Aujourd'hui, civil, l'urbanisme, on rrouve l'architecture, ces géolocalisation, c., chac ces domaines ayant s préoccupations diértes. Par exemp, obj spatial cadre (obj rue géolocalisation, dont attributs e rue rseigneront sera représtée sur sans son type trop (chaussée, détails rue, avue) i sa longueur exemp), alors cadre travaux publics (ex : tri voiries), e obj rue voirie, sera représtée obj canalisation, manière obj plus signalisation, détaillée plusieurs c.). objs spatiaux (obj trottoir, Commtassurercompatibilitétrediértesapplicationsmanipuntsspatia? Compte tu cte diversité préoccupations, commt représter e donnée spatia? Commt l'op Geospatial faciliter Consortium(OGC) échanges tre ces dont applications? l'objectif Cte répondre problémati à ces interrogations. a donné naissance à Op Geospatial Consortium Fondé 1994, l'op Geospatial Consortium (ancinemt OpGIS organisation internationa regroupant grans treprises (Goog, Hitachi, Consortium) Microsoft, Mitsubishi, e Topographic Orac, Engineering Tha, ESRI, Cter, c.), c.) s organismes s iversités (European (MIT, Space Harvard, Agcy, EPFL, NASA, KUL, US c.), Army dont but développer promouvoir s standards ouverts domaine s services géospatiaux règ alnt s représtation services basés sur s localisation. spatia Ce (types consortium, fournit opérations) certain nombre jusqu'aux 5http://

16 CHAPITRE 2. ÉTAT DE L'ART 8 moys commication tre diértes applications. En 1997, l'ogc a publié documt intitulé OpGIS Impmtation Specication for Geographic Information - Simp feature access tionsconceptspermtantd'ajouterupportspatiasgbdretionnels. [15, 16] l il propose plusieurs spécica- Ces suropérateurspermtantcréation,tockagegion(accès,miseàjour,c.)ces spécications dénisst s recommandations sur représtation spatia Modélisation s concepts spatiaux se base Selon principamt spécications sur proposées ux types l'ogc primitives géographis: [15, 16], modélisation d'tités spatia Les Les primitives primitives représtant représtant s s objs colctions simp(ou d'objs. singuliers); Un obj simp représté trois abstractions : point, e ligne ou e région. Un point forme. perm Par exemp, représter point peut obj représter prant e imt vil ou hôpital compte sur sa localisation e carte, ou non core sa véhicu sur écran GPS. Une ligne représter dépcemt(véhicu, individu) (ou ou e courbe) connexion l'élémt l'espace. base Par permtant exemp, e ligne rivière peut sur représter e carte. Une mouvemts ligne peut être d' oritée véhicu ou non. Une e vil, ou core e route ou e région obj ux dimsions(e surface). Par exemp, e région peut représter perm représter pays ou e forêt. La gure 2.3 illustre ces abstractions base[11]. Fig. 2.3 Abstractions fondamta base: point, ligne région. Une colction d'objs Une représtée ux abstractions : e tition ou réseau. tition peut représter permrepréstersembrégionsdisjointes.parexemp,etition quartiers d'e vil ou core provinces d' pays 6. Un réseau représter graphe constitué d' semb points ( n uds du graphe) reliés perm euxsemblignes(arêtesdugraphe).parexemp,réseaupeutrepréster tre réseau routier ou gazier. La gure 2.4 illustre ces abstractions base[11]. 6Une tition nichée perm représter e tition à plusieurs niveaux (quartiers région pays, c.).

17 CHAPITRE 2. ÉTAT DE L'ART 9 Fig. 2.4 Abstractions fondamta base: tition réseau Extsion du modè nouveaux L'incorporation types s abstractions vidront citées étdre ci-ssus types s standards SGBD se (tier, fait ottant, l'intermédiaire caractère, c.). Ces nouveaux types sont appelés types spatia (Spatial Data Types représté angisousdt).ainsi,point,eligne,erégion,etitionouréseausera d'e région, c.) SDT. Ce opérations rnier capsu y sont e associées. structure Ces (représtation opérations peuvt concerner, d' point, exemp, construction nouveaux SDT, vérication l'adjacce/l'inclusion/l'intersection d' ux point régions, e calcul colction d'objs, supercie c. d'e région, distance tre ux points, recherche L'Op Geospatial Consortium préstation ces spatia. a spécié Il a déni certain pour ce nombre e hiérarchie recommandations d'objs géométris pour re- ces rniers. décrit La retions gure 2.5 tre illustre diérts cte hiérarchie[16]. types spatia, ainsi opérations sur Fig. 2.5 Diagramme csses s types géométris selon l'ogc.

18 CHAPITRE 2. ÉTAT DE L'ART 10 La csse mère cte hiérarchie csse Geomry regroupe tous attributs toutes propriétés commes (csse à tout abstraite obj spatial. non instanciab) obj spatial obj Geomry. Cha obj associé à système référce Ainsi, spatia tout (Spatial Referce IDtication Comme il a été mtionné ci-ssus(voir angis) section 2.2.3), décrit l'origine obj spatial s coor peut être soit simp, l'espace. e colction d'objs. soit Obj spatial simp Un obj spatial simp peut principamt être trois types : Point, Curve L'OGC a égamt déni d'autres sous-types héritt s trois principaux types simp. Surface. obj Un Curve forme l'interpotion représte e tre sénce points. Point, Un obj il peut être diérts types, fonction LineString obj (polyligne) exemp Curve utilisant e interpotion linéaire tre Point, cha paire Point étant segmt Line. Ainsi, obj adjacts Line obj LineString Point(point dét point d'arrivée). Un obj avec exactemt ux LinearRing obj LineString ( point dét coïnci avec point d'arrivé) dont segmts (Line) ne se croist fermé qu'e seu fois(au point d'origine). La gure 2.6 illustre ces objs spatiaux simp[16]. Fig. 2.6 Objs spatiaux simp: diérts types d'objs Curve. Unobj Surface représteobjàuxdimsions.toutcommepourobj Curve, objsurface peutêtrediértstypes.unobj Polygon obj Surface extérieur zéro ou plusieurs bords intérieurs. Pour représter e surface à trois ayantbord il faut assembr s surfaces à ux dimsions. Ainsi, obj dimsions, PolyhedralSurface e colction plusieurs représte Polygon exemp d'objs Surface[16]. ont s bords comms. La gure 2.7 illustre diérts

19 CHAPITRE 2. ÉTAT DE L'ART 11 Fig. 2.7 Objs spatiaux simp: exemp d'objs type Polygon. Colction d'objs spatiaux simp GeomryColction.Unecolctionpeutcontirsembd'objs Lacssemèrel'sembobjsrepréstantscolctionsd'objsspatiauxcsse d'objs Surface(MultiSurface), Curve (MultiCurve), d'objs Point (MultiPoint), d'objs Polygon ou d'objs (MultiPolygon), LineString (MultiLineString). méthos A chace (certaines ces seront csses vues géométris, plus tard). Nous l'ogc ne associe verrons pas certain ces méthos nombre d'attributs détail cadre ce mémoire. Le cteur intéressé pourra se référer aux documts[15, 16]. tant UnefoiscesSDTdénis,ilspeuvtêtreincorporésmodèd'SGBD types d'attributs Extsion du ngage d'interrogation ces Puis support doit être spatial adapté impli consénce. nouveaux types, ngage d'interrogation a apporté Depuis sa certain normalisation nombre d'élémts 1986, SQL nouveaux. a subit plusieurs Deux révisions révisions. majeures Chace ont respectivemt ces révisions donné naissance à SQL2 1992(ISO/CEI 9075:1992) SQL3 1999(ISO/CEI 9075:1999). support C'avectandardSQL/MM(ISO/IEC13249SQL/MM),aétéincluSQL3, multi-ties. spatial Ce a signie été réelmt qu'il concerne pris non considération. seumt Apu spatia, 1999, il s'agit mais d' égamt standard textuel, multimédia 7, images, réalisation fouil (data mining angis). dations En ce pour représter, concerne stocker spatia manipur [26], (recherche, ce standard mise dénit à jour) s semb spatia recomman- utilisant SQL. Pour ce, ce standard s'inspire très gran tie du modè hiérarchi proposé l'ogc(voir gure 2.5). rournera Ainsi, il sera tie dorénavant l'autoroute possib E42 d'utiliser croise SDT l'autoroute avec E411. ngage SQL. L'exemp ci-ssous 7A l'origine, SQL/MM (pour MultiMédia) ne vait concerner multimédias.

20 CHAPITRE 2. ÉTAT DE L'ART 12 SELECT intersection(r1.route, r2.route) FROM route1 AS r1, route2 AS r2 WHERE r1.name = E42 AND r2.name = E Représtation s objs spatiaux L'OGC a déni ux formats pour représtation s spatia. Format Well-Know Text (ou WKT) Ils'agitd'formattextuelfacimtcompréhsib. La représtation d' point ux dimsions coor(1,1) s'eectue comme suit: POINT(1, 1) Format Well-Know Binary (ou WKB) Il s'agit d' format binaire. La représtation du point coordonnée(1,1) s'eectue comme suit: F03F F03F Les 32 rniers bits corresponnt aux coor x co indiquant type géométrie (Point, LineString, Polygon, y. Les autres c.). bits Nous corresponnt n'trerons à pas détailsduformatwkbcarcesortducadrecemémoire;cteurintéressépourra seréférerà[15] Outils milieu La recherche s années domaine Ce n' s architectures qu'avec naissance supportant spatia a débuté l'op Geospatial Consortium 1994) avec l'apition standards sur spatia grands acteurs du marché ( se ainsi sont qu' pchés 1999, sur Orac développemt fut précurseur d'extsions domaine spatia proposant disponib e première commerce. extsion C' gionspatiadisponibaupublic.d'autresextsionsvirtjourannées gure2.5). suivirt. La base toutes ces extsions modè géométri proposé l'ogc(voir SGBD propriétaires Orac : Orac Spatial Orac Locator sa première extsion spatia, version 8i son C' SGBD Cte extsion société reprd Orac toute proposa série fonctionnalités permtant stockage, manipution gion spatia. e Il nécessite existe ux e licce variantes payante cte alors extsion, qu'orac fonction Locator, licce plus d'utilisation. limité (perm Orac stockage Spatial son l'interrogation extsion, Orac s respecte spatia, toutes mais spécications pas création), l'ogc ne [15, nécessite 16]. El auce ajoute licce. égamt Pour certaines domaine s spécicités bases sont spatia. propres à ses SGBD. Actuelmt, Orac ar IBM : DB2 Spatial Extr son DB2 Spatial Extr. Cte rnière IBM respecte( propose égamt gran tie) e extsion spécications spatia grâce l'ogc à [15, 16]. Tout comme pour Orac Spatial, DB2 Spatial Extr nécessite e licce payante.

21 CHAPITRE 2. ÉTAT DE L'ART 13 SGBD libres PostgreSQL : eextsionspatiadompostgis.lapremièreversionapue2001version Tout comme Orac IBM, PostgreSQL a égamt mis au point 8.1 Orac, son PostGIS SGBD. respecte L'utilisation toutes PostGIS spécications s'eectue l'ogc via e [15, licce 16]. Actuelmt, GPL 8. Tout comme PostgreSQL pour ar domaine s bases spatia Op Source. MySQL : MySQL Spatial version 4.1 son SGBD. Son extsion MySQLaintroduitgionspatia2003 cefaiteextsionassezlimitée.parexemp,mysqlspatialnepermpasd'avoirs ne respecte qu'e tie s spécications l'ogc, objs plus ux dimsions. Tout comme PostGIS, MySQL nécessite e licce GPL. Middware : gamme produits maniputionspatia.parexemp,sociétéesri A côté s SGBD, il existe égamt s logiciels permtant produits pour stockage, visualisation, manipution gion 9 proposouteegamme ce type. Arc Spatial Database Extsion tre applications (utilisant s : Il s'agit spatia) d' middware(ou bases intergiciel). Son s'intègre faciliter tâche l'utilisateur lui fournissant e interface i l but soit base sous-jacte. ArcGIS:Ils'agitd'esuitelogiciels: s ArcRear: requêtes simp Logiciel sur gratuit ces. permtant visualiser s spatia réaliser ArcView spatia.ils'agit(lsorte)versionpayante(pluscomplète)d'arcrear. : Logiciel payant permtant visualiser, gérer d'analyser s ArcEditor ArcInfo: Logiciel : Logiciel payant permtant regroupant d'éditer fonctionnalités s cartes géographis(payant). tor, ajoutant d'autres fonctionnalités. s logiciels ArcView ArcEdi- 2.3 Données temporel Introduction pxe. Notion Cte si diculté familière rési pour chac son caractère nous, interdisciplinaire(physi, temps n' meure pas moins histoire, élémt philosophie), com- nombre fonction problèmes, du domaine tant d'utilisation, au niveau ce conceptualisation concept aura e qu'au dénition niveau diérte. représtation. Ce pose bon forcémt Cte notion explicite. temps Pourrait-on omnipréste imaginer système gion d'informations, dont même si el n' serait pas complètemt cas, l serait statis alors l'utilité n'évoluerait stocker pas e base temps?? Quand Pourquoi bi même ne ce pas serait simpmt granimportancesgbdnousverronssuitesagionn'passiévinte stocker s chiers textes exemp. Pour cte raison, facteur temps d'e ce. 8GNU Geral Public Licce e licce logiciels libres perm à tout utilisateur d'accér, d'utilisr, modier redistribuer co source du logiciel à condition ce rnier ses modications soit publiées sous même licce. 9http://

22 CHAPITRE 2. ÉTAT DE L'ART 14 Dans Grèce Anti, temps était représté à l'ai du Chronos 10. Cte représtation se basait sur e conception linéaire du temps. Fig. 2.8 Conception linéaire du temps. nombre Cte approche caractéristis: généramt cel adoptée. Cte vision du temps induit certain Instant:Ils'agitd'momtprécisoùse(s')produitévénemt; Durée: Antériorité, Il s'agit l'interval temps séant ux instants; simultanéité postériorité: Un événemt A mêmemomt/aprèsévénemt B. peut se produire avant/ au Dèslors,toutedicultérecherchesurbasesdonnéemporelrésiprise tion considération ces. ces caractéristis modè ngage d'interroga Gion du temps SGBD standards courant A l'origine, du système premiers d'informations SGBD ne était prait considéré. pas Ce compte n' qu'avec l'historicité l'apition s. SQL2 Seul qu' l'état premier principaux pas types vers temporels: support temporel s a été réalisé. En e, SQL2 a introduit ux date SGBD standards gérait l'historicité time. s. C' Cepdant, l'intermédiaire il s'avère ces ux ces attributs ux attributs sont insusants raison compxité gion temporel s. du temps, Unecesdicultésnotionvalidités.Puisévolutaucours [25] l'université l'état d'e Libre donnée Bruxel n' vab (ou toute pdant autre iversité). e certaine Cte pério. rnière Prons dispose l'exemp tab d'e EMPLOYE imt reprant professeurs. s Ces informations rniers ont au suj eu l'occasion, ses employés. au cours Supposons ur carrière l'on respective, considère d'occuper divers postes(assistant, chercheur, professeur). Considérons alors retion suivante. EMPLOYE (Nom: text, Prénom: text, Saire: float, Titre: text, Début: date, Fin: date) Schématimt, on pourrait représter l'évolution s saires s postes l'employé JeanDupont (exemp)gure2.9: 10Dieu personniant temps Grèce Anti.

23 CHAPITRE 2. ÉTAT DE L'ART 15 Fig.2.9Périosvaliditéssairesstitres. Pour représter cte pério validité, SGBD standards utilist ux dates(début Fin). Supposons l'on souhaite connaître saire actuel Jean Dupont. On pourrait alors exécuter requête suivante: SELECT Saire FROM EMPLOYE WHERE Nom = Dupont AND Prénom = Jean AND Début <= CURRENT_DATE AND CURRENT_DATE <= Fin temporels(mis Uneremarl'onpeutfaireausujrequêteci-ssusl'insusancypes compxie granmt à t date) sa gion. impli Par exemp, tout interval si l'on souhaite doit être acher explicitemt l'histori représté, s saires ce s cha employés, saire il perçu. faudra Dans calcur, gure pour 2.9 chac exemp, ces rniers, du l'interval au , temps maxima l'employé exercé diérts postes, mais il a toujours conservé même saire. Il faudra donc regroupé ces a trois interval temps. On aurait alors comme résultat: Nom Prénom Saire Début Fin Dupont Dupont Jean Jean Dupont Jean l'histori Compliquons s titres pit s peu saires plus l'exemp, correspondant supposons cha maintant employé. Nous l'on souhaite essayerons acher d'obtir tab suivant: donc Nom Prénom Titre Saire Début Fin Dupont Dupont Jean Jean Assistant Assistant Dupont Jean Chercheur Dupont Jean Professeur Dupont Jean Professeur n' La pas diculté évint. rési Les requêtes toujours suivantes calcul permtront s bons interval. réaliser: Cepdant, ce calcul, SQL,

24 CHAPITRE 2. ÉTAT DE L'ART 16 CREATE VIEW Temp(Saire, Début, Fin) AS SELECT Saire, Début, Fin FROM EMPLOYE WHERE Nom = Dupont AND Prénom = Jean SELECT DISTINCT F.Saire, F.Début, L.Fin FROM Temp AS F, Temp AS L WHERE F.Début < L.Fin AND F.Saire = L.Saire AND NOT EXISTS ( SELECT * FROM Temp AS T WHERE T.Saire = F.Saire AND F.Début < T.Début AND T.Début < L.Fin AND NOT EXISTS ( SELECT * FROM Temp AS T1 WHERE T1.Saire = F.Saire AND T1.Début < T.Début AND T.Début <= T1.Fin) ) AND NOT EXISTS ( SELECT * FROM Temp AS T2 WHERE T2.Saire = F.Saire AND ( (T2.Début < F.Début AND F.Début <= T2.Fin) OR (T2.Début < L.Fin AND L.Fin < T2.Fin) )) rési Ciremt, prise on voit compte s formution bons interval. s requêtes Seuls se compxie interval tièremt fortemt. Cte inclus diculté être pris considération. Pour ce, cte requête va rechercher ux tup pourront doivt respectivemt début (F.Début) n (L.Fin) s interval (tup) fusionnés. Le premier dénir NOT EXIST s'assure qu'il n'y a pas trou tre F.Début L.Fin. Ainsi, tout T.Début, tre F.Début L.Fin, sera étdu (vers L.Fin) autre tup. Le second NOT EXIST l'interval (déni s'assure F.Début illustre ce raisonnemt. L.Fin) ne peut pas être étdu tup T2. La gure 2.10 Fig Dénition s interval temps valis. domaine An d'apporter s bases s solutions temporel. à ces problèmes, Leur principal nombreux objectif travaux l'intégration ont été réalisés concepts temporels modè ngage d'interrogation(sql).

25 CHAPITRE 2. ÉTAT DE L'ART Domaine temporel attributs Le point temporels. précént Il a nous donc a fallu montré aner l'on représtation ne pouvait pas réduire ce concept. notion temps à ux peut Comme être perçu il a été mtionné diértes ci-ssus, manières, selon modélisation dénition du temps qu'on lui n' donne. pas chose Mais aisée. d'e Le manière temps généra,mpsperçucommeespaceàedimsions'étdantdupasséaufutur(voir gure2.8).cepdant,faut-ilconsidérercommeétantabsolu(ex:17/09/200914h45)oucomme étant e retif(ex: n) ou comme étant ux inni? semaines)? Et faut-il Faut-il considérer considérer comme comme étant étant discr(s'il borné(avec e isomorphe origine auxnombresnaturels),nse(s'itisomorpheauxnombresrationnels),oucommeétantcontinu (s'il isomorphe aux nombres réels). temporels Quel nécessaires soit à perception sa modélisation l'on a l'ontologie du temps, suivante: on peut résumer diérts concepts Instant:Représtechronon(instantbiprécis)surlignedutemps; Pério: Représte interval(semb d'instants) temps fermé; Interval : Représte interval temps ouvert. Périos 11 :Représtesembdisjointpérios. On permttreprésterinstantsurlignedutemps: peut égamt rajouter types introduits norme SQL2. Ces rniers Date:Représteedatebiprécise(année-mois-jour); Time:Représteeheurebiprécise(heure-minute-secon); Timamp : Représte e secon(ou microsecon) bi précise d' jour donné Dimsion temporel réel. Les Lorsqu'e stockées modication survit e base mon se réel, réfèrt base toujours à fait doit être modiée mon pstempsséemodicationmonréelsarépercussionbase consénce. Mais cte modication ne s'eectue pas manière instantanée. Il y a toujours. nées, Ce ps permtt temps introduit dissocier ux temps dimsions, d'registremt esstiel d' événemt gion du temporel temps s prise don- considération c événemt base. Le temps validité (valid time c'-à-direàl'intervalmpsdurantlfaitvalimonréel.lemps angis) fait référce au temps mon réel validité (passé,préstoufutur). d' événemt représte momt où c événemt survu mon réel Le temps transactionnel (transaction time durant l fait vrai base. angis) Le temps fait référce transactionnel à l'interval d' événemt temps représte l'on co momt e base où c événemt s se informations répercute retives base à s. événemts Par survus exemp, au si XIX temps ème transactionnel sièc, temps ces validité événemts ces correspondra événemts au sera jour situé où l'on tre a 1800 codé 1899 informations. alors 11Dans littérature, on rrouve souvt sous terme temporal emt.

26 CHAPITRE 2. ÉTAT DE L'ART 18 étanttemporel Cesuxdimsionssontorthogona.Ainsi,emêmedonnéepourraêtreconsidéréecomme réel), ou temporel 12 aussdutempsvalidité(s'ilneprncomptempsdumon machine), ou core au bitemporel(s'il ss du temps prd transactionnel compte (s'il ne ux prd dimsions). compte temps considéré. Danscecontexte,onpeutdistinguerdiértstypesbases,fonctiondutemps Bases instantanées(snapshot database instantanée toute base reétant imt l'état angis) courant Onappelbase type base ne prd pas compte l'historicité s. du mon C'était réel. cas Ainsi, ce majorité s SGBD standards avant l'introduction d'attributs temporels. La gure 2.11a montre e retion instantanée constituée trois tup(lignes) trois attributs(colonnes). Bases à temps vali (valid time databases à temps vali toute base considérant temps angis) sa dimsion On appel temps base validité. voir diértes La gure 2.11b versions montre chac e retion ces tup, temps c'-à-dire vali constituée diérts quatre interval tup. On temps peut durantlscupsontvalis(vrais)monréel.laversionactueld'tup celavantpnsurgure.lupn'ontpasnécessairemtmêmombreversions (tout reète dépd fait s du mon changemts réel a provance été vali du mon passé, réel). Par a subi exemp, changemt, quatrième mais tup n' plus vali temps prést. Bases transactionnel (transaction time databases appel base à temps transactionel toute base considérant angis) temps On sa Ce dimsion type retion temps transactionnel. e succession La gure retion 2.11c montre instantanée. e retion Au dét, temps retion transactionnel. Une première transaction (résultant d' changemt mon réel) ajoute trois tup vi. transaction retion. supprime Ensuite, uxième e secon tup transaction ajoute ajoute nouveau quatrième tup. Ici, tup. l'état Enn, courant e s troisème retioninstantanéeplusàdroitesurgure. tup Bases bitemporel (bitemporal databases bitemporel toute base considérant temps angis) ses ux On appel dimsions. base La gure saction 2.11d ajoute montre trois tup e retion à retion. bitemporel. Ces trois Au tup dét, représtt retion l'état vi. courant Une première retion, tran- tup( sont donc trois valis autres tup temps rant prést. toujours Puis, valis). e secon Ensuite, transaction e troisième va ajouter transaction quatrième ter cinème tup, va supprimer l'état courant d' tup existant tout conservant va ajou- versions antérieures. Ce serait cas si, exemp, ce tup reète fait (du mon réel) ses dont transaction pério va mtre validité à jour déjà début terminée pério alors qu'on validité psait du troisième contraire. tup. Enn, Ce e rnière cassi,exemp,cupreètefaitdontvaliditéacommcéplustardcel'on serait psait. La gure 2.11 illustre diértes dimsions temporel[11, 31]. 12Donnée temporel terme généri ne spéciant pas type support temporel.

27 CHAPITRE 2. ÉTAT DE L'ART 19 Fig Dimsions temporel Extsion du modè porée La quion modè esstiel maintant d' SGBD. savoir L'approche commt généramt notion adoptée temps peut être bases incor- temporel considérer cha tup comme fait. An savoir si ce rnier eectués: vali ou pas, on l'associe à s élémts du domaine temporel. Plusieurs choix doivt être Quelmodèallons-nousétdre?Retionnelouorité-obj? Quel domaine temporel allons-nous prdre compte? Discr, nse ou continu? 13. Qugranuritéd'fait? Quel val? type timamp doit être utilisé? Un chronon, interval, semb d'inter- Quel dimsion temporel allons-nous prdre compte? Au rniers l s se années, diérciant plusieurs modè choix eectués. Mais ont été malheureusemt, proposés auc littérature ces [15, modè 31], n'a ces étéprédominant,aucn'aétéacceptél'sembacteursdumarché.ainsi,contrairemt auxbasesspatia,iln'existepasbasesdonnéemporeldisponibaiveau commercial Extsion du ngage d'interrogation e Tout extsion comme du pour ngage support d'interrogation spatia,. Le support standard SQL2 avait temporel fait premier impli introduisant support temporel. Ce rnier a très rapimt montré ses limites. Pour cte pas raison,dès1992,schercheurssesontpchéssurquiond'eextsiontemporelsql. sur C' modè ainsi, qu' 1994, bitemporel apu BCDM TSQL2 [12]. 14. Il En s'agit intégrant d'e extsion concepts temporels SQL2 se base modè ngage d'interrogation ces, TSQL2 facilite granmt tâche, notammt ce concerne gion s interval(voir exemp section 2.3.2). 13Orité-obj : cha tup ne représte pas e retion mais obj. 14Temporal SQL ( non Transact-SQL propre aux systèmes Microsoft Sybase).

28 CHAPITRE 2. ÉTAT DE L'ART 20 Par suite, fonctionnalités proposées TSQL2 ont été introduites SQL3 sous nom SQL/Temporal. Ce rnier constitue e extsion TSQL Données spatio-temporel Introduction porel. Jusqu'à Nous prést, allons voir nous maintant avons vu s pouvait combint être ces ux nature aspects spatia : ou tem- spatio-temporel. géométris Comme nous décrivant l'avons sa vu morphologie précémmt, sa e position. donnée Dès spatia lors, e donnée caractérisée spatio-temporel s attributs être dénie comme étant e donnée spatia dont forme /ou position varie(nt) au cours peut du temps. ux Cte axes dénition principaux. a orité Le premier recherches concerne l'étu s domaine objs dont s morphologie spatio-temporel varie au cours du couverte temps. Il s'agit, incdie. exemp, Cepdant, l'évolution cte première d' désert, approche d' paysage occupe actuelmt ou core e surface tion mineure littérature récte. En e, l'esstiel s artic sur spatiotemporel posiramt) se forme consacre dont à l'étu position d'objs évolue mobi, c'-à-dire temps. L'étu s objs s objs dont mobi on ignore se (géné- égamt ux oritations. divise La première s'intéresse au suivi (tracking proche perm, exemp, suivre e otte angis) taxis, s ou d'avions objs s'approchant temps réel. d' Ce type aéroport, d'ap- ou d'approche core serait véhicu militaires exemp: sur champ batail. Les requêtes visageab ce type Trouverstationsservicesplusprochesd'obj Trouverxilibreplusproched'clitsrouvantaupoint o; p; Trouvertousavionspénétrerontrégion R15prochainesminutes. L'idée nécessiteconnaissancepositioncourante(miseàjourtempsréel),évtuelmt position prévisib futur proche. l'on cherche à satisfaire s besoins nouveaux s temps raisonnab, ce cours La d' secon interval approche temps s'intéresse arbitraire. à l'analyse L'idée s dépcemts qu'au fur à successifs mesure d' l'obj obj se mobi dépce, au ces représter positions successives l'histori seront ces mémorisées. dépcemts Sur base l'intermédiaire ces positions, trajectoires. il sera suite Les requêtes possib visageab Donner dépcemts ce type d'approche successifs serait l'obj exemp: o Donnertousobjspasstrégion tre R(requêtespatia); 13h 14h(requête temporel); Donner tous objs sont passés région R temporel). tre 13h 14h (requête spatio- Puis m non seumt dépcemts d'interroger d' obj prést, sont registrés mais égamt au fur passé. à mesure, Grâce ce à type connaissance requête per- ce passé ( du prést), il sera égamt possib d'interroger trajectoires futures, sur base d'hypothèses.

29 CHAPITRE 2. ÉTAT DE L'ART 21 veloppemt Ainsi, toute modè diculté ngages recherche d'interrogation sur permtant spatio-temporel non seumt rési support dé- n'importe l type d'tité mouvemt, mais égamt l'interrogation, plus ecace plus simp possib, ces tités Cssication s spatio-temporel ration, Avant il convit voir plus d'abord détail commt cssier an se rdre spatio-temporel compte l'étdue ont été prises compxité considé- cype. On En e, rrouve applications s domaines manipunt tels s géolocalisation, spatio-temporel l'archéologie, peuvt l'histoire, être très variées. rologie, géologie, géographie, mécine, c. De plus, certains domaines peuvt avoir météo- exigces urs sont propres, ce compxie core davantage modélisation s s spatio-temporel. considération Une cssication pour modéliser a été réalisée s [11]. spatio-temporel: On y distingue dix catégories qu'il faut prdre 1. Evénémt l'espace temps - (point, point) s'étant produit à momt donné à certain droit (ex : 15 découverte :ils'agitd'événemt catastrophe aérine, trembmt terre, c.); archéologi, 2. Empcemt vali durant e certaine pério temps - (point, interval) il s'agit tout obj (vil, bâtimt, route) a été construit à certain droit à : e certaine épo n'existe plus actuelmt; 3. Ensemb d'événemts l'espace temps - sénce (point, point) événemt : il mais s'agit tout d'e généralisation semb(ex: catastrophes (1) car on aérines ne considère survues pas imt 2008); seul 4. Empcemt constant durant certaine pério - sénce (point, interval): exemp, siège social d'e treprise peut se situer au même droit durant certaintemps,puisdéménagerautredroitmeurercernier,puisà nouveau déménager, ainsi suite; 5. Entité mobi (dont forme n' pas esstiel) - (point, point) tité se dépce (ex : e personne, e voiture, camion marchandises :ils'agitd'e e vil); circunt 6. Evénémt l'espace temps dont forme esstiel - (région, primordia point):ils'agitd'eextsion(1)soùgéométriel'événemt l'importance); (ex : incdie forêt gran vergure où supercie couverte a 7. Empcemt vali durant e certaine pério temps dont forme esstiel - (région, interval) géométrie l'obj esstiel (ex : : il e s'agit tie d'e d'e extsion route a été (2), fermée durant ss où certain temps raison d' accint); 8. Ensemb d'événemts l'espace temps dont forme esstiel - sénce (région, point) extsion (3) ss où géométries : il s'agit ces d'e événemts généralisation sont importantes (6) d'e incdies forêt grans vergures survues 2008); (ex : 9. Empcemt constant durant e certaine pério dont forme esstiel - sénce (région, interval) géométrie l'obj indispsab(ex: :ils'agitd'eextsion(4)soù l'étdue d' pays, d' bâtimt); 15Représté point l'espace point temps.

30 CHAPITRE 2. ÉTAT DE L'ART Entité mobi (dont forme esstiel) - (région, point) se dépce connaissance forme esstiel (ex : : il s'agit phénomènes d'e tité désertication( zone couverte désert évolue au cours du temps), dépcemts troupes militaires zones conits, dépcemts d' ouragan, c.). Ces été conçues catégories pour seront modélisation très uti car el permtront spatio-temporel. d'évaluer Par portée exemp, s on approches pourra dire ont tel approche ne perm pas modéliser tel ou tel type d'application Modélisation interrogation position courante Introduction objs Comme à nous gion l'avons s positions vu précémmt, courantes successives cte approche ces réduit rniers. problème Pour connaître ces mobilité positions s courantes, ancernierpuissefairemisesàjourreses.pourcteraison,suivitempsréel objs mobi doivt transmtt ur position au serveur base peuvt ces objs être très indispsab variés. Il peut an s'agir maintir exemp à jour d' ur utilisateur position courante. se dépçant Ces avec objs son mobi ou son PDA, ou core d' véhicu (taxi, camion, train, bateau, véhicu militaire) doté GSM capteur ou d' GPS, associé à émteur(pour transmtre position), se dépçant d' vironnemt(vil, océan, c.). Onpeutciterexemp: Il existe plusieurs technis permtant connaître position courante d' obj mobi. LeGPSassociéàémteur:chaépemttransmsapositionauserveurlocalisation; Les cellu réseaux du réseau; celluires : où position connue grâce aux antnes situées cha PositionnemtsurIntern:puis1996,l'IETF géolocalisation transportées 16 aproposéd'ajoutersinformations l'adresse IP d' utilisateur, il possib localiser mises approximativemt à jour DNS[3], ainsi, (pays grâce vil à Les réseaux ls il sseurs. se situe); Toute conserver diculté position cte courante approche d' tel rési obj; e modélisation première approche d' obj ( a été se utilisée dépce. An s applicationsindustrieltell'automatic Vehic Location mobi à point (p, t) généré périodimt [29]. Ce 17 point )aétéd'associerchatité trouveàposition p(peutêtresousformed'coupcoor(x, indi y)oud'numéro tel tité se obj)suitockésgbdstandard,grâceaungagesql,ilserapossib cellucadred'réseaucelluireexemp)àl'instant t.chaccespoints( rituer certain nombre informations d'inconvénits. sur positions s objs. Malheureusemt, cte approche traîne Problématis A instant donné, il n'y a auc problème car il sut d'associer l'obj à e localisation (ex : coordonnée (x, y)). Mais puis c obj se dépce, ce impli s mises à jour sa 16http:// 17Technologies permtant suivre temps réel cours véhicu.

31 CHAPITRE 2. ÉTAT DE L'ART 23 position courante. Ces rnières mtt évince premier àjourpositioncouranted'objmouvemt,uxcasguresontpossib: problème. An maintir 1. Soitpositionl'objfrémmtmiseàjour,ceconduitàeprécisionassez évée évé; sa localisation (erreur localisation minime), mais avec taux mise à jour 2. Soit bonne précision position sa l'obj localisation(erreur occasionnelmt localisation mise à évée), jour, ce mais avec conduit taux à e moins à jour faib. mise Le gère premier pas imt cas gure n' seul obj pas visageab mouvemt prati mais plusieurs. car généramt, Ce impli e application taux ne mise à jour trop évé pour qu'e application puisse fonctionner correctemt. localisation Le second cas peut être gure trop n' évé. égamt Par exemp, pas visageab GPS dont l'erreur prati car localisation ris d'erreur ctaine mètres, pourrait indir à automobiliste tourner à gauche alors qu'il se trouve d'e surpont,oucorecontinuertoutdroitalorsqu'itfaceàbâtimt.lesconsénces peuvt mètres trop être loin). core plus graves lorsqu'il s'agit d'apeils militaires (ex : bombarmt 200 Un uxième problème sur passé d' obj. Par exemp, a été si mis l'on souhaite évince connaître l'impossibilité tous agts d'eectuer police e requête trouvaitàmoinsdixminutesdulieuoùs'produitaccintà14h,onnepeutvisager se e futur tel s requête objs. avec cte approche. Il égamt impossib d'eectuer s requêtes sur Solution possib problèmesci-ssusaétéd'introduirotion Plutôt considérer imt position courante d' obj mobi, e solution aux vecteur décrire position d' obj mobi comme e fonction mouvemts.lebutcernier connaîtpositionl'objàl'instant du temps. L'idée si l'on t itpossibdéduirepositionsauxinstants 0,ainsisavitessesadirectionàcemêmeinstant, t n (n>0). rnières Bi évimmt, seront beaucoup ce vecteur moins fréntes mouvemt (tout nécessitera gardant égamt e bonne s approximation mises à jour, mais ces calisation d' obj) si on considérait imt position courante. lo- mouvemt Ainsi, l'objectif an d'être cte capab approche faire s requêtes maintir non dynamimt seumt sur sa position position courante, d' obj mais égamt compte sur l'historicité ses positions s positions futures. d' Malheureusemt, obj(ces positions cte successives approche ne ne perm sont pas pas mémorisées), prdre donctouterequêteretiveaupassén'paspermise.nousverronsplustardcommtprdre considération c histori. Il s'agit Nousallons du modè àpréstvoirmodè MOST. sebasesur ctotion vecteurmouvemts.

32 CHAPITRE 2. ÉTAT DE L'ART 24 MOST (Moving Objects Spatio-Temporal) objmouvemt.ebasepourcesurnotionvecteurmouvemt. Apu1997[28],modèMOSTpermgérerpositioncourantefutured' d' Au obj niveau mobi. d' Dans SGBD, modè vecteur MOST, mouvemt ce vecteur n' prést qu'e sous abstraction forme s dépcemts d'attributs dynamis. jourexplicitemt(automatimt,àchaquickd'horlogeexemp) Un attribut dynami lorsqu'il susceptib changer vaur sans être mis à 18. Un attribut dynami X X.value : représte ( vaur type T) caractérisé trois sous-attributs: X (implicite ou explicite); ( type T) au momt rnière mise à jour X.updatime:représtemomtoùrnièremiseàjouraétéréalisée; X.fction:efonction f : int T (où f(0) = 0). Lavaurl'attribut X àl'instant tdéniecommesuit: value(x, t) = X.value + X.fction(t - X.updatime) ( t X.updatime) Grâceàcesattributsdynamis,onpourrait,exemp,représterobjsedépce commesuit(supposantl'objsedépcesurpnàuxdimsions): Obj: (id: integer, position: (x: real dynamic, y: real dynamic)) A cha nouvel localisation l'obj, champ position représtation ne serait pas ecace, voire insusante, pour certaines serait mis applications. à jour. Cepdant, Par exemp, cte si plus l'on poussée considère prdrait véhicu compte se dépce s amètres sur e route, tels on pourrait vitesse imaginer du véhicu, e représtation direction. On pourrait dès lors avoir e représtation comme cel-ci: ou core sa Véhicu: (immatricution: long, loc: (route: line dynamic, position: point dynamic, timeposition: time dynamic, direction: integer dynamic, vitesse: integer dynamic, incertitu: time dynamic)) où: route: obj spatial Line représtant route lcon; position : Point surroute(point l'instant timeposition; Line)représtantlocalisationl'objà direction:directionsuiviel'obj(ex:n,s,e,ne,c.); vitesse:vitesseàdépcel'obj; incertitu:mpsécoulépuisrnièremiseàjourpositionl'obj. Cha position, mise mais à égamt jour (implicite e modication ou explicite) implirait direction, non seumt vitesse e modication l'incertitu. Bi évimmt, certains amètres pourront conserver urs vaurs(ex: direction, vitesse). attributs L'interrogation dynamis. s Cepdant, positions futures toute requête d' obj sur mobi futur s'eectue ne produira qu' l'intermédiaire résultat probab ces car il y'aura toujours ris s attributs dynamis soit explicitemt mis à jour 18Tout attribut peut prdre vaur 0 sur l il possib d'applir e opération d'addition peut être dynami.

33 CHAPITRE 2. ÉTAT DE L'ART 25 ( rdre raison prévisions d' changemt requête vitesse erronées. ou Supposons direction exemp), l'on cherche ce à savoir serait susceptib combi temps véhicu V résultat indira, arrivera exemp, à stination. véhicu Au momt réaliser requête (à l'instant t), V imt sur informations connues à l'instant arrivera t). Et supposons dix minutes( maintant requête se véhicu basant doits'arrêterdurantcertainspstempsàl'instant t + n(n>0).en t + explicite sera réalisée( aura pour consénce mtre à jour tous attributs n,emiseàjour Dèslors,ilyaforteschancesvéhicu dynamis). V La raison qu'à l'instant t, consénces n'arriverapasàstinationdixminutes. mise à jour produite t + n pas connues. En optant pour cte approche, e mise à jour t l'utilisateur n'était nécessaire qu' cas changemt sa direction ou sa vitesse. ne sera FTL (Future Temporal Language) Parallèmt ngage perm au modè tirer MOST, ti s concepteurs attributs dynamis ce rnier ont préstés égamt ci-ssus proposé : [28] FTL. Il s'agit d'e extsion du ngage SQL, s prédicats logi temporel, ngage m l'interrogation du futur s. per- simiireàlogidupremierordrecaritconstitué: Cte interrogation réalisée l'intermédiaire formu FTL. Ce ngage assez constantes(numéris(ex: variab; 20) ou caractères(ex: `Belgi')); fonctions(ex:+,-,*,/); prédicats(ex:>, connecteurs logis;,<,,=,-); symboponctuations(ex:(,),[,]); quanticateurd'assignation( ) 19 ; opérateurs opérateurs temporels(ex: spatiaux(ex: insi). til, evtually); Lesuxopérateurstemporelsbased'eformuFTLsont til nexttime.soit f prédicats: g,ux f til g vériésionagàcétatoufutur, f vériéattdant; nexttime f vériési f vériéauprochainétat. D'autresopérateurstemporelsont suiteétéconstruitssur base til nexttime. citer exemp: Onpeut Evtually f =vrai til f ; Always f = Evtually f; Evtually_within_i f = f seravériél'intervalmps i; Evtuall_after_i f = f seravériéaprèsl'intervalmps i ; Always_for_u f = f vériémanièrecontinuepour uprochainesitéstemps. A côté ces opérateurs temporels, il existe égamt s opérateurs spatiaux tels insi (Insi(obj, zone) = vrai si obj s opérateurs arithmétis cssis), zone). il En possib combinant spécier ces ux s types formu d'opérateurs FTL dont ( l'objectifséctionnerimtbasesatisferontcesformu. plus Ainsi, on pourra, exemp, formur requête suivante: trouver toutes paires d'objs o 1, o 2 teldistancetre o 1 o 2 nedépassepasuxkilomètresjusqu'àcequ'ilspénètrt 19Le ngage FTL ne dispose pas quanticateur existtiel ( ), ni quanticateur iversel ( ) contrairemt à logi du premier ordre.

34 CHAPITRE 2. ÉTAT DE L'ART 26 tousuxpolygone P,cesraduirangageFTL[28]: RETRIEVE o 1, o 2 FROM objects WHERE DIST(o 1,o 2 ) 2 Until (INSIDE(o 1, P)) AND (INSIDE(o 2, P)) au ssus Les auteurs d' SGBD ont conçu fournissant modè MOST fonctionnalités ngage base. FTL Une implémtation but d'être a implémtés connuesousnomdomino[30]. été réalisée, du Nous cadre n'irons ce mémoire. pas plus Le détail cteur au intéressé suj du pourra modè trouver MOST plus du ngage amp informations FTL car ce sort [11, 28, 30] Modélisation interrogation l'histori s positions Introduction mt Cte approche connaissance semb plus compxe position courante précénte d' obj puisqu'el mobi. Toute ne se contte trajectoire pas doit i- être En revanche, conservée ce impli mémorisées s structures étant beaucoup plus compxes plus complètes, s panorama plus volumineuses. visageab sera plus rge(meilure analyse s ). s requêtes : Pour cte types raison, spatio-temporels. l'objectif principal Par dénition, cte approche e donnée spatio-temporel dénition nouveaux e types géométrie serait se stockés dépce e base temps. L'idée spatia donc dénir prdrait nouveaux compte types l'évolution ces géométries temps. Ces nouveaux types permtrait non seumt prdre ce permtrait considération d'interroger l'état courant instant s passé précis. spatia An mais tirer égamt ti ces tout nouveaux son histori, nouvel opérations seront égamt créées. types, Approche basée sur s types abstraits Pour dénir ces nouveaux types, ux quions meurt esstiel: 1. Quels sont exactemt types opérations doivt être dénis? 2. Quniveaud'abstractionscriptioncypescesopérations? Types élémt En ce réponse concerne précémmt. types En e, l'idée doivt généra être dénis, cte nous approche avons déjà apporté considérer s évolutionmps.nousavonsvuquroisabstractionsbasepermtantrepréster spatia auxl on rajoute facteur temporel an prdre compte ur e donnée Le spatia était: point e personne, perm animal, représter e voiture, obj avion, mobi bateau, sans se préoccuper gin militaire, sa c.); forme (ex : La ligne permrepréstererouteouerivièreexemp;

35 CHAPITRE 2. ÉTAT DE L'ART 27 La c, régionpermreprésterobjdontformeesstiel(ex:pays, e forêt, iceberg, incdie, ouragan, e madie(ex: cancer), c.). Ceci trois dimsions(ux était vab dimsions espace à pour ux l'espace dimsions + e dimsion re toujours pour vab temps). espace à spatiadontforme/oupositionvarie(nt)aucoursdutemps.siseupositionl'obj Comme nous l'avons vu point précént, e donnée spatio-temporel e donnée signicative, on pourra représter cte donnée point sions(onraalors espace à trois dim- point mobiou point mouvemt,oucore moving point angis).parcontre,siformel'objégamtsignicative,onreprésteraalorscte donnéee régionespaceàtroisdimsions(onraalors région mobiou région mouvemt, ou core moving region donné naissances aux ux abstractions base permtant angis). modélisation Ces ux l'interrogation cas gure ont l'histori s positions d' obj mobi. spatia,cepeutserésumer: L'objectifcypesspatio-temporelsreprésterl'évolutionmpsd'etité mpoint 20 = time point mregion 21 = time region Demanièreplusgénéra,onpeutdénirconstructeurtype type αtype φ(α): φ[11]transformeedonnée φ(α)=time α Ainsi,vaurd'pointmobi(type el peut être représtée e courbe mpoint)décritepositioncommeefonctiondutemps régionmobi(type mregion)sembvolumesespaceàtroisdimsions.n'importelintersectioncsembavecpn t=t 0 produiraevaurtype region espace à trois dimsions. La vaur d'e décrivantrégionmobiàl'instant 22, t 0 23 tier mobi(type mint), réel mobi(type.and'avoirerminologieiforme,onrad'- respectivemtdésignertier,réelboolédontvaurévoluemps.un mreal), boolé mobi(type mbooan) pour réel alors mobi qu' pourra, boolé mobi exemp, représtera représter respect l'évolution ou non d'e temps certaine propriété vitesse d' (ex véhicu, < 70 km/h). Contrairemt à point mobi ou à e région mobi, réel, tier : vitesse boolé mobi sont s objs à ux dimsions (vaur temporel). La gure 2.12 illustre point mobi, e région mobi réel mobi[11]. Fig Représtation d' point mobi(a), d'e région mobi(b) d' réel mobi(c). 20 moving point. 21 moving région. 22Type region = tout type permtant modéliser l'abstraction région. 23Une intersection vi égamt vab car ce produira e région vi, e vaur vab.

36 CHAPITRE 2. ÉTAT DE L'ART 28 Opérations [11, En 14, ce 9]. Ces concerne opérations ont opérations principamt doivt été subdivisées être dénies, ux e réponse catégories. a été fournie La première catégorie concerne opérations sur s types exemp: non-temporels. Il s'agit φ(region) φ(region) booan φ(point) φ(region) booan φ(point) φ(point) φ(real) region real line real insi, intersects, touches, overps on_borr, in_borr distance perimer ngth min, max φ(α) α Insi, intersects, touches overps prise, intersecte, ou chevauche permtt e autre respectivemt région. d'indir si e région com- On_borr srouvesurbordd'erégion,alors perm d'indir si point in_interior Distance, indisipointsrouverégion. perimer ngth treuxpoints,périmètred'erégionlongueurd'eligne(ex:eroute).enn, rournt respectivemt, comme urs noms l'indint, distance min max qu'il existe donnt ordre respectivemt total sur type vaur α). minima Certaines maxima ces opérations d' obj sont mobi généris, ( supposant el peuvt être appliquées à plusieurs types. Dans ce cas-là, on nommera ces types donc, α. Min max sont s exemp d'opérations généris. Laseconcatégorieconcerne opérations sur s types : temporels.ils'agitexemp φ(α) time α at φ(α) time start, stop real duration φ(α) periods ftime φ(α) range(α) rangevalues φ(point) line trajectory φ(region) region traversed φ(α) instant booan prest φ(α) periods booan prest φ(α) φ(α) atmin, atmax (α booan) φ(α) wh At rourne vaur d' obj mobi lcon(point, région, c.) à instant donné. Start stop l donnt obj mobi respectivemt déni, alors minimum maximum d' interval temps durant - duration l obj mobi déni. donne durée s interval temps durant Deftime déni. rourne périos durant ls obj mobi Rangevalues réel rourne projection d' obj mobi. Par exemp, projection d' mobi(α type réel) rournera semb nombres réels. A noter rangevalues ne réalise s projections sur s e dimsion (α réel, chaîne caractères ou boolé). Pour e projection sur s type ux instant, dimsions, tier, on utilisera trajectory (si α type point) ou traversed (si α type region). Prest perm dire si obj mobi existe à instant donné ou e pério donnée. Atmin atmax minimumouàsonmaximum.enn, rourne l'obj mobi au(x) momt(s) où sa vaur était () respectivemt à son wh respecte e certaine propriété. Il perm ainsi permrournerobjmobiauxmomtsoùil l il respectait (ou respecte core) e certaine rreindre propriété. l'obj(mobi) Par exemp, aux périos il sera possib durant d'exprimer rituer région mobi r à ct kilomètres. Bi évimmt, il aux ne s'agit instants durant d'e ls liste non sa exhaustive supercie était s opérations supérieure possib. Le cteur intéressé trouvera e liste beaucoup plus complète [9].

37 CHAPITRE 2. ÉTAT DE L'ART 29 Unefoiscypesaurontétédénis,ilspourrontêtreincorporésmodè spatia d' SGBD extsions tant qu'attributs tel qu'orac Spatial (comme ou core ce PostGIS), a déjà été cas opérations avec listées ci-ssus pourront être utilisées pour formur s requêtes. Soit retion suivante: Vols(id:string, dét:string, stination:string, route:mpoint) On pourrait alors formur s requêtes tel : 1 )Quelssontvols,audétBruxel-National,dontlongueursupérieureà5000 km? (projection spatia) SELECT id FROM Vols WHERE dét = Bruxel-National AND ngth(trajectory(route)) > ) Quel sont stinations sont accessib puis Bruxel-National moins trois heures? (projection temporel) SELECT stination FROM Vols WHERE dét = Bruxel-National AND duration(route) < ) Rrouver toutes paires d'avions, durant urs vols, se trouvt à moins d' kilomètre l' l'autre (jointure spatio-temporel) SELECT v1.id, v2.id FROM Vols v1, Vols v2 WHERE v1.id v2.id AND minvalue(distance(v1.route, v2.route)) < 1 notions En ce concerne niveau d'abstraction nécessaire pour dénir ces types ces opérations, modè abstrait modè y répondre. La principa diérce tre ces ux discr, modè introduites rési [7], fait ont été l' dénies considère pour e mobi représtation peut, exemp, nie alors être déni l'autre comme suppose e e fonction représtation continue innie. En espace e, à ux point msions ou comme e ligne discontinue espace à trois dimsions (voir gure 2.12a). di- Demême,erégionmobipeutêtredéniecommepolygonesimpoucommepolygone compxe types avec s juste bords intérieurs(polygone termes d'semb avec innis, trou(s)). alors Dans cas second on dénit cas on domaine décrit e s représtation nie ces types. Modè abstrait l'évolution Comme nous l'avons temps vu d'e précémmt, tité spatia. l'objectif Dans s ce types modè, spatio-temporels temps considéré représter étant inni, ce fait représtations innies sont autorisées. Par consént, tous comme sont fonction d' temps inni, urs vaurs sont consént s semb innis( types point du temps, il existe e vaur). Par exemp, point mobi sera vu comme e courbe tout continue espace à trois dimsions.

38 CHAPITRE 2. ÉTAT DE L'ART 30 rateur Ainsi,cemodèpeutprdrecomptesansdicultéstitésmobi.Parexemp,l'opé- mdistance e distance tre pourra ux aisémt points être mobi. déni puis, l soit l'instant, il existera toujours ux Prons opérations. l'exemp On pourrait, d' modè(très d' point simpliste) vue formel, constitué dénir comme cinq types suit[7]: limité à Types: point, time, real, mpoint, mreal Opérations : mpoint time point at mpoint mpoint mreal mdistance En ce concerne vaurs possib pour diérts types ( nous noterons A peuvt être spéciées comme suit: type ), el A point := R 2 A time := R A real := R A mpoint f: A time A point efonction} A mreal :={f f: A time A real efonction} Un nombreréel,soitindéni.enceconcerneuxtitésmobi,elsontfonctiondutemps. point soit élémt d' pn soit il indéni, alors type temporel soit Enceconcerneopérations,sémanticesrnièrespeutêtredéniecommesuit: f at (r, t):= r(t) f mdistance (r,s):= g: A temps A real tel g = { d(r(t), s(t)) si r(t) s(t) sinon où d( p 1, p 2 ) calcudistanceeuclidinetreuxpointspn. L'opérateur atpermrournervaur(point)dupointmobi r l'opérateur àl'instant t,alors mdistance permrournerdistanceséantpointsmobi r rournera réel mobi représtant l'évolution( temps) distance séant s.cernier r Si,àinstant tlcon,pointsmobi r snesontpasdénis,distanceséant, s. àcinstant,vaut nesesouciepassavoirsierepréstationnieexisteoupas..onvoitainsiqu'modèabstraitpeutassezfacimtêtredénicaron cker Mais manipur malheureusemt, s semb ce modè innis irréalisab SGBD? prati. Commt En peut-on e, commt stocker e peut-on structure sto- donnéailinnie?laréponsesimp,çan'paspossibpoursraisonsphysis (mémoire, on peut se capacité baser sur s stockage, représtations c.). Heureusemt, discrètes(semb ce problème nis) n' ces pas semb irrémédiab. innis. En C' e, principe a été adoptée modélisation discrète. Modè discr signie Contrairemt vaurs au modè possib abstrait, d' type modè discr représtt discr suppose généramt temps sous-semb borné. Ce vaurs possib du type abstrait correspondant. C' principamt cte supposition s compxier modélisation. va types, Pour s approximations majorité s types seront nécessaires., cte C' supposition cas s tités ne change mobi. ri. Pour Mais décrire pour certains d'tité, e approximation linéaire généramt utilisée. Nous l'avons déjà vu précémmt ce type

39 CHAPITRE 2. ÉTAT DE L'ART 31 (voir msions gure alors 2.12), qu'e point région mobi mobi décrit décrite termes termes polylignes polyhèdres. A noter espace cte à trois notion di- d'approximation liser s représtations était déjà discrètes préste formes cas continues. s En e, spatia. e donnée El était utilisée type pour réa- region généramt décrite terme polygones alors qu'e donnée type line décritetermepolylignes.inmêmepourformespluscompxes(cylindre,sphère). généramt Les pne. faces ces rniers seront dénies approximant cha surface courbée sur e surface Danscemodè,représtationstitésmobis'eectuesurbased'e tranches(sliced represtation décomposer développemt temporel angis)[22, d'e tité 11, 14]. plusieurs L'idée fragmts ce type appelés représtation tranches tels simp (linéaire, tie constante, du développemt c.). La située gure 2.13 e illustre tranche exemp puisse être décrite représtation e d' fonction mobi d' point mobi décomposés respectivemt huit quatre tranches[11]. réel Fig Représtation tranches d' réel mobi(a) d' point mobi(b). Larepréstationtranchesconstruitegrâceàconstructeurappelé amètré type décrivant e seu tranche( nous appelrons type mapping.cernier La vaur d' obj type ité mobi coup (i, v) où ité mobi). i temps représte interval v upoint, représtation d'e fonction simp c interval. Il existe s types ureal, uline ou core uregion. opérateur[7]: Prons l'exemp d' modè simpliste constitué quatre types d' seul Types: point, time, real, mpoint Opérateurs : mpoint time point at On suit: peut exprimer vaurs possib peuvt prdre diérts types comme A point := D point où D point = real real A time := D time où D time = real A real := real A mpoint :={<(p 1, t 1, b 1 c 1 ),...,(p m, t m, b m, c ( 1 i m: m )> m 0, p i D point, t i D time, b i booan, c i i,j {1,...,m}: booan), i<j = t i < t j )} Pour types point, time port à e modélisation continue. real, Par on contre, remar modélisation qu'il n'y a pas discrète changemt du type rap- mpoint beaucoup plus compxe car il représté e sénce quadrupls. Cha quadrupl contit e position p i temps t i. Il contit égamt ag b vrai si point mobi déni l'interval i à [t i, t i+1 ]. En e, il se peut qu' point

40 CHAPITRE 2. ÉTAT DE L'ART 32 mobi contitsecondag soit déni façon discontinue (voir gure 2.12a), d'où l'utilité ce ag. Enn, il c i àvraisipointreconstanttre[t i, t i+1 ](p i = p à faux si e interpotion linéaire a été utilisée tre i+1 ), p i p perm supporter cinq premières catégories spatio-temporel[7] i+1.cte représtation été préstées à section ont Enceconcernel'opération suit: atpourpointmobi ràl'instant t,elpeutêtredéniecomme fat(r,t):= si m = 0 si m > 0 (t < t 1 t > t m ) p i si m 1 ( i {1,..., m} : t i = t) lin(p i, t i, p i+1, t i+1, t) si m 2 ( i {1,..., m 1} : (t i < t < t i+1 ) b i = vrai c i = faux) p i si m 2 ( i {1,..., m 1} : (t i < t < t i+1 ) b i = vrai c i = vrai) si m 2 ( i {1,..., m 1} : (t i < t < t i+1 ) b i = faux) où lin(p 1, t 1, p 2, t 2, t)permd'exécutereinterpotionlinéairetrepoints(p 1, t 1 ) (p 2, t 2 )espaceàtroisdimsionsrournepointàl'instant t. pxe Ciremt, on cas constate abstrait. Néanmoins, modélisation il a l'avantage d'tités mobi d'être applicab cas discr prati. plus comtemporel, A prést nous nous avons avons introduits montré commt dénis ces rnières était spatia, modélisab, temporel nous pouvons spatio- passer à préstation d'hermes constitue élémt ctral ce mémoire.

41 Chapitre 3 Hermes temporel Un s pour principaux SGBD objectifs PostgreSQL. ce mémoire Concrètemt, a été il fournir a fallu e migrer première e extsion, extsion initiamt spatio- proposée conçue [21, pour 22] SGBD Orac, vers PostgreSQL. Cte extsion, du nom d'hermes, a été temps, Dans nous ce chapitre, verrons nous principa allons voir idées détail sur l diértes repose ties Hermes. d'hermes. Ensuite, Dans nous verrons premier diérts types qu'hermes supporte. Ces rniers sont subdivisés quatre ties types base, types spatiaux, types temporels types spatio-temporels. Dans : troisième physimt temps, représtés. nous irons Enn, plus nous détail verrons nous verrons panorama commt non-exhaustif ces types s opérations sont permtt à Hermes d'analyser dépcemts successifs d' obj mobi. 3.1 Introduction gion L'émergce s applications localisation mobi robustes. a mis Dans évince cas e s faibse: LBS exemp, man l'analyse systèmes dépcemts utilisateurs insusante[21]. Pour cte raison, nombreux travaux ont été réalisés s adopte e s domaine ux approches modélisation nous s avons vues spatio-temporel(l'esstiel précémmt section 2.4). Suite ces artic travaux, premiers développemts systèmes supportant spatio-temporel à sont ces égamt d'e extsion apus. spatio-temporel En 2002, N. Pekis pour a développé SGBD Orac. l'ancêtre Cte d'hermes: extsion sourait STAU[18]. ces(insusance Il s'agissait apu Hermes. types, d'opérations, c.), pour cte raison, el a été améliorée. C' ainsi qu' proposé Extsion 2006[21, STAU 22]. [18], Les Hermes fonctionnalités 1 prototype ce framework framework permtt 2 spatio-temporel gérer s géométries a été dont fonctionnalités position permtant /ou forme l'analyse évolue(nt) spatio-temporel(ou temps. Pour ce, il objs regroupe mobi). semb L'objectif d'hermes traitant s objs faciliter mobi. modélisation, construction l'interrogation bases cte Hermes n, Hermes a été repose développé tie comme sur e extsion fonctionnalités s SGBD proposées Orac (Orac Orac: 10g à l'origine). A 1. Types base(tier, réel, chaîne caractères, boolé) opérations base; 1Du nom du dieu du commerce Grèce Anti. 2Ensemb d'outils permtant développemt d'applications. 33

42 CHAPITRE 3. HERMES Types tial[17] cartouche(ou spatiaux opérations extsion) spatia urs sont s associées(fournies SGBD Orac). Orac Spa- Enplussfonctionnalitésci-ssus,Hermesreposeégamtsureautrecartouche. Cternièreoreupporttemporelnécessaireàmodélisationspatio-temporel. CtecartoucheapournomTAU_TLL 3 [18]. tion En ce l'histori concerne s positions modélisation nous s avons vue spatio-temporel, section 2.4.4, ce Hermes impli se base l'utilisation sur ges- ur types d' obj mobi spatio-temporel sous Hermes représtée nous verrons e plus fonction détail où cha suite. instant Ainsi, associé va- à e donnée spatia. qu'extsion Bi qu'hermes puremt soit temporel e extsion ou puremt spatio-temporel, spatia[22]. el peut être égamt utilisée tant 3.2 Système types sous Hermes Introduction LesystèmypessousHermesdiviséquatreties: typesbase(bt); types types temporels(tt); types spatiaux(st); spatio-temporels(mt). Lagure3.1illustrecesystèmypes[22].Cernierpeutserésumercommesuit: Hermes = BT TT ST MT. Fig.3.1SystèmypessousHermes. 3 TA Universe Temporal Litteral Library (TA e ticu a e durée vie secons).

43 CHAPITRE 3. HERMES Les types base constitut Les types tie base ctra sont ceux du proposés système types SGBD puis Orac c' ( sur base plut ces types s SGBD). qu'ont été Ils conçus spatio-temporels. types temporels types spatiaux, eux-mêmes sont fonmts s types Les types temporels d'hermes.tau_tllfournitfonctionnalitéspuremttemporeld'hermes.ctesous-tie Les types temporels d'hermes ont été introduits TAU-TLL [18] e sous-tie sebasesureextsionaétéproposée1996[13].cternièreétaitlimitéeàquatre types temporels(date, time, timamp tant types timepoint, interval). TAU_TLL a étdu ces rniers ajou- period temporal temps, TAU_TLL implémte candrier grégori. emt. Il considère En ce concerne temps linéaire(totamt conception du ordonné) d' temps retif borné. (ex Il considère : trois égamt mois) fait temps tie s absolu travaux (ex : futurs 15/12/2009 visagé 17:50). [22]. Le En support concerne domaine temporel, TAU_TLL considère modè discr. L'axe du temps ce titionné types temporels, nombre cteur ni intéressé segmts pourra discrs se appelés référer à granu. l'annexe B1. Pour e dénition formel s Les types spatiaux regroupesemblypes,fonctions,procéduresd'opérateurspermtant Les types spatiaux d'hermes sont ceux proposés Orac Spatial [17]. Ce rnier, upportspatia,neconsidèrepasfacteurtemps.ainsictesous-tied'hermes fournit Orac Spatial fonctionnalités propose e puremt hiérarchie spatia. types En ce se base concerne sur cel types proposée l'ogc spatia, gure 2.5). La gure 3.2 illustre cte hiérarchie[22]. (voir Fig. 3.2 Diagramme csses s types géométris proposés sous Orac Spatial.

44 CHAPITRE 3. HERMES 36 AiveausSGBDOrac,toutegéométrieystockéecommeobj(spatial)type SDO_GEOMETRY ticurités d'orac ( e Spatial, seu ligne notammt e seu sur colonne). stockage Nous d'objs. revidrons plus tard sur Les types spatio-temporels qu' Les obj types mobi pouvait spatio-temporels avoir au l du ont temps. été introduits La représtation an gérer ce l'histori type d'obj s s'eectue positions sur emprtée base d'e représtation obj mobi, peut tranches. être vue Cte comme rnière e se sénce base sur segmts fait qu'e trajectoire, à trois dimsions. Chac ces segmts représte e tie du développemt temporel espace l'obj mobi, chac peut être décrit l'intermédiaire d'e fonction simp(principe représtation tranches nous avons introduit section 2.4.4). La gure 3.3 illustre point mobi dont trajectoire constitué diérts types mouvemts[22]. Fig. 3.3 Décomposition du développemt temporel d' point mobi. Pourdénirstypesspatio-temporelpourobjsmobi,principeadopté Hermes représter tout obj mobi e colction d'objs type ité mobi (it moving type e tranche. Ainsi, angis).cernierpermdécrirecomportemtl'objmobi associée à e fonction tout modélisant obj type comportemt ité mobi sera l'obj caractérisé mobi e pério pério temps temps spéci. permtant Ce représter impli e pério dénition d' temps type d' ité type mobi permtant nécessite l'existce représter d' fonction. Sous Hermes, ces rniers sont présts respectivemt sous noms D_Period_Granu type Unit_Fction. 4 En combinant ux types précénts, on obtit obj type umpoint(it moving point se bast angis). sur ce type. Ce rnier Par exemp, fondamtal objs puis type autres objs type ités mobi umcirc (it moving circ angis) umrectang(it moving rectang premier composé d' tripl d'objs angis) type se bast directemt sur type umpoint. Le paired'objstype umpoint.tousuxpermttmodéliseregéométrie,respectivemt alors second composé d'e circuire rectanguire, dont position /ou forme évolue(nt) interval temps. onnepeutsecontterd'elistepoints.pourcteraison,lype Parcontre,pourreprésterpolygone(type umpolygon)ouepolyligne(typeumlinestring), umsegmt(it moving segmt arc)pouvantchangerforme/outail.lagure3.4illustreobjtype angis) a été introduit. Ce rnier perm représter segmt ligne(simp ou umsegmt 4Où Granu = Hour ou Min ou Sec, c. (il existe plusieurs types représtant e pério temps ité fonction granurité.)

45 CHAPITRE 3. HERMES 37 [22]. Dans l'interval [t 1, t 2 ], point mp 1 suit e trajectoire linéaire simp alors point mp 2 suitrajectoirecourbe. Fig. 3.4 Représtation d' umsegmt. ces C' rniers sur base représté ces types ité e mobi colction types types spatio-temporels ité mobi correspondant. sont dénis. Chac Hermes a déni types spatio-temporels suivants: mpoint, mcirc, mrectang, Ainsi, mlinestring temporels mpolygon. grâce Hermes aux types donne multi-types égamt possibilité représter s colctions types spatio- (multi moving type angis). ter Cepdant, s colctions types homogènes spatio-temporels (ex : semb préstés jusqu'ici permtt imt représ- umpoint type ou mpoint). Pour cte raison, mcolction (moving colction e hétérogène types spatio-temporels. angis) a La été gure déni. 3.5 Ce illustre rnier l'organisation perm représter spatio-temporels sous Hermes[22]. s types Fig. 3.5 Diagramme csses s types spatio-temporels d'hermes. Pour e dénition formel s types spatio-temporels, cteur interessé pourra se référer à l'annexe B2.

46 CHAPITRE 3. HERMES Représtation physi s types spatiotemporel Introduction,nécessairesàtraductionurssémantis,surl'implémtationsméthossur Larepréstationphysiquypespermd'avoirevisionsurstructures ces d'abord types. Pour voir comprdre philosophie l'implémtation adoptée s SGBD types Orac spatio-temporels pour stockage sous d'objs Hermes, compxes. il convit stocker IxisteuxmanièresstockerobjabousOrac.Lapremièreconsisteà n élémts(ou attributs) constituant obj tup(e ligne n Ces objs sont appelés objs lignes. Cte approche comme à plut s SGBD, colonnes). malheureusemt, el ne convit pas pour tous types d'objs. En e, ce mo représtation mais n' cas vab spatia si l'on connaît ( spatio-temporel), à l'avance nombre on d'élémts ne connaît pas constitut à l'avance l'obj. ce nombre. Or, Comme gure2.5).inmêmepourspatio-temporel(voirgure3.5).idoncfallu nous l'avons vu précémmt, e donnée spatia peut être diérts types (voir trouver e représtation s soit plus soup. Pour cte raison, notion tab nichée a été introduite. seu Apue cellu(appelée avec Orac tab Spatial, nichée cte ou notion tab imbriquée) perm stocker type e tité géométri e SDO_GEOMETRY ligne e colonne). Ce type d'obj appelé obj colonne. An stocker d'e élémts( tab(e nombresvariab)constitutl'tité,ctecellupointeraversab(ditockage) contidra ces élémts. La gure 3.6 illustre ce principe[17]. Fig. 3.6 Exemp tab nichées. seu Une colonne) autre alternative élémts aux d' tab obj nichées tabau stocker longueur (toujours e seu ligne e variab(varray And'implémtertypespatio-temporelcommeecolctiontypesitémobi,Hermes sous Orac). utilise notion tab nichée.

47 CHAPITRE 3. HERMES Point mobi Ainsi, obj type mpoint Physimt, il s'agira d'e tab sera nichée représté pointera e vers colction e tab d'objs stockage type contant umpoint. objs type umpoint. Tout obj type umpoint caractérisé e donnée type D_Period_Granu nées(x, y)). Le type e donnée type Unit_Fction(e pour chace ses coordon- D_Period_Granu f]où stdébut représté ux vaurs délimitant l'interval([d, f Le type n,oùgranuritépeutêtreseconouminuteexemp). Unit_Fction variab fonction d' ag représté indiquant type tripl fonction. nombres Cte réels(a, fonction b, c) se représtant dénit comme suit: f(t):t R [t 1, t 2 ] R, où[t 1, t 2 ]périotemps Actuelmt, quatre types fonctions sont supportés sous Hermes: 1. Constante; 2. Polynomia du premier gré; 3. Polynomia du second gré; 4. Racine carrée d' polynôme du second gré. Anfaciliterupportnouvelfonctions(ex:spline,polynômegrésupérieuràux), modélisation du type Unit_Fction extsib Cerc mobi / Rectang mobi Lesobjstypes mcirc d'objs types sontrespectivemtrepréstésscolctions umcirc seront utilisées pour stocker ces umrectang. colctions. Tout comme pour type mpoint, s tab nichées Lesconcepteursd'Hermesontpréféréfaireedistinctionpoursraisonsexibilitésimplication Cesuxtypespeuvtêtremodéliséscommescasticuliersdutype mpolygon. imt sur développemt. base d' faib En nombre e, ces ux types types ité mobi. peuvt Par exemp, aisémt être obj modélisés type umcirc sera composé trois objs type umpoint sation d' cerc vali) alors qu' obj type ( trois points nécessaires à modéli- umrectang type sera composé ux objs umpoint modélisation (coin beaucoup inférieur plus gauche compxe coin puisqu'el supérieur droit). doit prdre Pour compte obj s type polygones umpolygon, triviaux(ex: polygone avec trou(s), voir gure 2.7). non La gure 3.7 illustre l'évolution position forme d'objs respectivemt type mcirc mrectang [22].

48 CHAPITRE 3. HERMES 40 Fig. 3.7 Représtation d' cerc mobi d' rectang mobi. Entre l'instant t 1 t 2, ux géométries ont changé forme. A l'instant t rescce se produit. Les ux objs type 3, e dégéné- mpoint segmt ligne tout comme trois objs type compost rectang mobi formt l'instant compost cerc mobi. A t verrons plus 4, tard mpointrespectifsdurectangmobiducercmobivintégaux.nous commt Hermes détecte ces dégénérescces Polyligne mobi / Polygone mobi Tout comme pour types spatio-temporels précénts, objs types mlinestring mpolygon sont respectivemt représtés s colctions (tab nichées) d'objs types umlinestring umpolygon. nepeutpasêtredécriteimttermesd'objstype Contrairemtauxcercmobiauxrectangmobi,epolylignemobi(mlineString) dérationpolylignesnontrivia(voirgure2.6),objtype mpoint.anprdreconsi- umlinestring e colction (tab nichées) d'objs type représté umsegmt d'interpotion tre point dét point d'arrivé polyligne. Ainsi, ag indiquant représtation type complète d' obj type mlinestring 3.8 illustre cte représtation[22]. se base sur s tab nichées à ux niveaux. La gure Fig. 3.8 Structure d'e polyligne mobi. La représtation d' obj type mpolygon très simiire à cel d' obj type mlinestring ( obj type umpolygon représté e colction d'objs type

49 CHAPITRE 3. HERMES 41 umsegmt).laseudiércerésiaiveaudutypeitémobi.ene,représtation d' obj type umpolygon seu diérce premier quasi composé inti d' ag à cel additionnel. d' obj Ce rnier type umlinestring, nécessaire pour à représtation objs type umsegmt(associés polygones avec trous à (voir obj gure type 2.7). umpolygon) En e, ce formt ag perm l'anneau d'indir extérieur si du polygone mobi ou anneau intérieur. La gure 3.9 illustre structure d' obj type mpolygon [22]. Fig. 3.9 Structure d' polygone mobi. Ce polygone mobi comprd ux trous. An décrire, obj type umpolygon décrira trou. Chac frontières ces trois extérieures, objs sera autre caractérisé décrira sa premier propre trou tab nichée. autre décrira second Colction mobi du type La représtation mcolction. d'semb Il perm d'objs modéliser types s colctions spatio-temporels types s'eectue homogènes l'intermédiaire Pource,objtype hétérogènes. mcolction dénicinqpointeursverstypessuivants: 1. multi_mpoint (multi moving point angis); 2. multi_mlinestring (multi moving linestring angis); 3. multi_mcirc (multi moving circ angis); 4. multi_mrectang (multi moving rectang angis); 5. multi_mpolygon (multi moving polygon angis). Chac mpoint, s mlinestring, types ci-ssus mcirc, perm modéliser semb homogène respectivemt type mrectang permsimuresorted'héritagypes.siutilisateurn'abesoindutype mpolygon. Cte conception adoptée multi_mpoint, Hermes ilréférceraimtpointeuradéquatl'objtype non référcés). S'il souhaite avoir d'autres types, il référcera mcolction(issantautres souhaite. Il pourra ainsi représter s colctions types hétérogènes. pointeurs vers types qu'il

50 CHAPITRE 3. HERMES 42 Un autre avantage cte représtation dénition toutes méthos commes aux multi-types au niveau du type mcolction Obj mobi Le type mobject rô super type perm s types modéliser n'importe spatio-temporel l type spatio-temporel base vus précémmt. base. Il joue se basant sur même conception type mcolction, type En mobject pointeurs. Ce type généri déni comme suit[22]: déni huit CREATE TYPE Moving_Object AS OBJECT ( mobject REF Moving_Object, mpoint REF Moving_Point, mline REF Moving_LineString, mcirc REF Moving_Circ, mrectang REF Moving_Rectang, mpolygon REF Moving_Polygon, mcolction REF Moving_Colction, geomry REF MDSYS.SDO_GEOMETRY, gtype string, arg1 integer, arg2 integer, input Union_Input ); Contrairemt au type mcolction, type mobject utilisé utilisateur d'hermes. Il s'agit donc d' type n'a pas abstrait. été conçu Par pour contre, être il directemt utilisétantrésultatfonction(ex:fonctiondontlyperourgénéri). pourra être utilisée La première cas référce où e fonction pointeur d' obj récursif aurait sur amètre type mobject. même El type principamt (ex: opérations topologis tre ux polygones mobi). c obj référce Les quatre vers référces type spatial suivantes d'orac sont (SDO_GEOMETRY) s pointeurs vers nécessaire types spatio-temporels pour l'implémtation base. La méthos d' obj mobi ayant obj puremt spatial comme argumt (ex : retion topologi tre obj mobi obj LineString). L'attribut gtype mpoint, pointeur agindiquantlypemouvemt.parexemp,sil'objtype pour connaître type adéquat l'obj, sera on référcé utilisera l'attribut tous autres pointeurs seront non référcés. Et gtype pointeur. C attribut représté comme suit: perm d'éviter ter cha gtype = {MOBJECT, MPOINT, MLINE, MCIRCLE, MRECTANGLE, MPOLYGON, MCOLLECTION} En ce concerne l'attribut input, nous y ssus revidrons plus tard.

51 CHAPITRE 3. HERMES Opérations sur objs type mobi Introduction principes[22]: La conception s opérations sur types présts sous Hermes repose sur quatre 1. Conception d'opérations plus généris possib; 2. Assurer puremt temporels consistance spatio-temporels; tre opérations sur types puremt spatiaux, 3. Maintir consistance(cohérce) base ; 4. Modéliser phénomènes intéressants. An prolifération faciliter d'opérations, l'extsibilité (future) premier d'hermes principe meure nouvel fondamtal. fonctionnalités Il ainsi esstiel an d'éviter focaliser sur propriétés commes à plusieurs types. Il égamt indispsab d'avoir e se vision iée s colctions types. [22]. An La première répondre consiste au second à étudier principe, opérations concepteurs sur types d'hermes ont procédé puremt trois spatia étapes à séctionner cel dont l'association avec e sémanti temporel serait uti (ex : longueur d'objtype à l'étape précénte, LineString).Lauxièmeétapeconsisteàétdreopérations,séctionnées ainsi semb d'opérations vers variantes dont temporel s argumts (TAU_TLL) type s temporel types respectifs. (ex : longueur On obtit obj type d' mlinestring opérations obtues à l'étape à précénte instant donné). à rirer Enn, dimsion rnière étape temporel. consiste On à reprdre obtit ainsi s type opérations mlinestring, sont indépdammt indépdantes d'e d' dimsion instant ticulier, temporel modélisera (ex : longueur nombre d' réel obj évolue temps). semb Lorsqu' règ SGBD vériant étdu respect s contraintes nouvel fonctionnalités, d'intégrités an il s'assurer nécessaire d'avoir consistance - s charge. surveilnce Pour cte raison, (monitoring) troisième principe base repose. sur Ces semb méthos pourront méthos être explicitemt ont tel ou appelées tel opération). e requête utilisateur ou être invoquées automatimt(ex: à suite temporels Enn, an provant permtre domaines modélisation divers, du concepteurs plus rge d'hermes évtail possib ont cssié concepts ces opérations spatio- visageab sept catégories avec [22]. ces nouvel Chace requêtes. ces rnières perm décrire d'analyser possibilités 1. Opérations baseétatcohért; vérication: regroupe l'semb s opérations permtt garr 2. Prédicats mobi(ex: : regroupe retion topologi); l'semb s opérations concernant retions tre s objs 3. Projection interaction sur domaine spatial temporel s opérations limite projte types spatio-temporels sur domaine : regroupe spatial l'semb domaine temporel; sur 4. Opérations numéris obj mobi exemp; : regroupe s opérations tel calcul du périmètre d' 5. Opérations portant sur distances directions objs mobi sopérationsfacilitt,exemp,calculdistanceminimatreuxobjs :regroupe

52 CHAPITRE 3. HERMES 44 mobiàinstantdonné,oul'angformétreuxobjstype mpoint l'ang formé ur trajectoire respective(nous revidrons plus tard sur c ang); c'-à-dire 6. Opérations portant sur s semb d'objs semblistes(ex: intersection, ion, c.); : regroupe l'semb s opérations 7. Opérations sur taux changemt taux changemt s propriétés du mouvemt : regroupe d' l'semb obj mobi(ex: s opérations changemt décrivant vitesse). Etant rama non-exhaustif donnée quantité ces méthos. fonctionnalités proposées sous Hermes, nous ne verrons qu' pano Maintance consistance base état Hermes consistant[22]. fournit plusieurs El méthos impost s permtant contraintes s'assurer d'intégrités doivt base être respectées re l'utilisation spatio-temporel. lors 1. booan check_periods_equality () type ité mobi (constituant l'obj : mobi vérie si courant, périos c'-à-dire temps celui cha fait obj appel métho) sont éga. Ainsi, Hermes n'autorise pas l'existce d' obj type ité à mobi ité mobi dont pério(d_period_granu) compost; soit diérte cel s sous-objs type 2. booan check_disjoint () type ité mobi successifs : vérie ne se chevaucht si périos pas; (D_Period_Granu) ux objs 3. booan check_me () pério l'obj type 5 :vériesiepériod'objtypeitémobircontre illustreexemplroutemporel ité mobi suivant(pas trou temporel). La gure 3.10 (pério[t 2, t 3 ]nercontrepaspério[t 4, t [22]. 5 ]) Fig Exemp trou temporel détectab l'opérateur check_me. 4. booan check_geracies objmobi)n'apassubiedégénérescceàinstantdonné(d_timepoint_granu). :vériesigéométrie(associéeà Parexemp,rectangmobi,aulsonévolution,peutavoirformed'segmt ligne l'obj ou d' type point(voir ité mobi gure (s'il 3.7 pour existe) dont exemp). pério La métho contit commce l'instant passé rechercher mètre métho. Une fois trouvé, e interpotion l'obj type a- Unit_Fction (caractérisant points sont cohérts(auce l'obj ité mobi dégénérescce). trouvé) à c Dans instant cas d' réalisée cerc an mobi vérier exemp, si méthovérierasitroisobjstype umpoint ou colinéaires. dénisstnesontpaségaux 5Cte métho exécutée imt sur base d'e requête explicite l'utilisateur.

53 CHAPITRE 3. HERMES Varchar2 validate_geomry (D_Timepoint_Granu, err_msg) trie d' obj mobi vali. El se base sur méthos précéntes. 6 : vérie Une si fois géomé- ces rnières ont été appliquées, cte métho fait appel à métho at_instant. Cte rnière précis. Ensuite, perm el va mapper vérier l'obj certaines mobi propriétés(dénies e géométrie (SDO_GEOMETRY) modè d'orac à Spatial) instant qu'e géométrie polyligne résultante(ex: dénie vérier au moins qu' ux polygone points (dét, déni arrivé), au moins quatre polygones points, d' obj type multi_mpolygon métho rournera TRUE, sinon el sont rournera disjoints, c.). message Si tous d'erreur ts d'orac sont concluants, rseignant surraisonsl'échec(sil'erreurliéeàgéométrie)oufalse autrescas. Dans colction. cas Les vérications colction d'objs s'arrêtt mobi, à première ces méthos erreur seront rcontrée. appliquées sur cha obj Prédicats modélisant retions topologis distances retions Hermes fournit tre objs égamt mobi[22]. s méthos, Ces méthos sous formes sont regroupées prédicats, ux permtt semb appelés décrire within_distance tion tre obj courant rete, constitués respectivemt huit méthos obj type permtt mpoint, mlinestring, modéliser mcirc, re- mrectang, mpolygon, mcolction, mobject SDO_GEOMETRY ce ces opérations possè ux signatures (surcharge (obj puremt spatial). Cha- retion tre l'obj mobi courant obj mobi à 7 ) : instant première donné perm alors décrire secon e décrit cte retion prant compte son évolution temps. 1. booan f_within_distance (dist, Moving Type, tol, D_Timepoint_Granu) Moving_Booan f_within_distance (dist, Moving Type, tol) : tol à amètre précision indiquant si distance tre ux points inférieure tol d'orac (tolérance), Spatial). Hermes Ainsi, considérera première version ces ux cte points métho comme perm seul (concept déterminer provant objs mobi(l'obj courant celui passé amètre) sont à e certaine distance si ux l'autre à instant donné. La distance tre ux objs types autres l' mpoint (ex points : mlinestring) plus proche). calculée La secon comme version distance cte minima métho tre ne considère ces ux pas objs imt (coup instantdonnémaistoutelignedutemps.eldétermineainsisiuxobjsmobi sontàecertainedistancel'l'autroutaulongurévolutionrespective temps. Le mbooan certaine distance l' résultant l'autre; indira donc quand ces ux objs était(ou pas) à e 2. Varchar2 f_rete (mask, Moving Type, tol, D_Timepoint_Granu) Moving_String f_rete (mask, Moving Type, tol) première version cte métho détermine si ux objs mobi : topologi ticulière (éga, disjoint, c.) à instant donné. C' vérit amètre e retion mask permd'indirretionàter.laseconversionméthoprncompte l'évolution temps s ux objs mobi Projection interaction sur domaine spatial sur domaine temporel Hermesfournitégamtsembméthospermtantrreindre/ouprojer sur domaine spatial sur domaine temporel[22]. 6 Varchar2 = Type représtant e chaîne caractères longeur variab. 7Surcharge fonctions : ux fonctions ayant même nom mais dièrt au niveau urs amètres /ou urs vaurs rour.

54 CHAPITRE 3. HERMES Unit_Moving_Point it_type (D_Timepoint_Granu) plusieurs objs type ité mobi (dépd l'obj aul : cte on métho appli rourne métho) ou dont pério contit l'instant passé amètre; 2. Union_Output at_instant (D_Timepoint_Granu) l'obj mobi courant e géométrie. La vaur rour : cte dépd métho perm nature mapper mobi sur l el appliquée. S'il s'agit d' obj représtant e géométrie mobi l'obj mobirepréstanttypesimp(ex: (ex:mpolygon),vaurrourseraobjtype mreal,mint),vaurrourseratypesimp SDO_GEOMETRY.S'ils'agitd'obj (ex: concaténation réel, tier). S'il s s'agit vaurs d'e rour colction l'application d'objs(mcolction), métho vaur rour sera at_instant s objs cte colction. En fait, il ne s'agit pas d'e réel concaténation mais à chac l'application d' opérateur ticulier permtra faire e sorte d'ion; plutôt 3. Moving_Object at_period surdomainemporel.lapériotempspasséeamètrecomée(séntielmt) (D_Period_Granu):cteméthorreintobjmobi l'obj mobi avec toutes aul périos métho caractérisant appliquée. Si objs amètre types ne ité chevauche mobi pas composant cours comaison (cel d' obj type ité mobi), l'obj ité mobi pério correspondant l'intersection omis. pério S'il passée chevauche, amètre; pério cours comaison vit alors 4. D_Temp_Emt_Granu f_temp_emt () rios temps, caractérist objs ité : cte mobi métho constituant perm l'obj projer mobi, sur pé- élémt domaine temporel. temporel La gure concaténer 3.11 illustre toutes résultat ces périos cte opération temps sur pour construire obj type mpoint[22]; Fig Projection d' point mobi sur domaine temporel(opérateur f_temp_emt). 5. Moving_Object at_temp_emt (D_Timepoint_Granu) métho :cteméthosimiireà at_period se base pas sur e seu vueprécémmt.laseudiércerésifaitcel-cine pério(d_period_granu) mais sur e colction périos; 6. SDO_GEOMETRY f_ctroid (tol, D_Timepoint_Granu) Moving_Object f_ctroid (tol) première version cte métho rourne : polygone mobi à instant donné(passé amètre). ctre (appelé El égamt ctre gravité) applicab d' cerc mobi au rectang mobi. La secon version rourne obj type au mobject représtant cas ticuliers l'évolution où ctre du ctre gravité se forme trouve hors temps. du La polygone gure 3.12 [22]. illustre Le premier ux correspond casoùpolygonetropconcave; au cas où ctre se trouve à l'intérieur d' trou. Le second correspond au

55 CHAPITRE 3. HERMES 47 Fig Opérateur f_ctroid. 7. SDO_GEOMETRY f_convexhull (tol, D_Timepoint_Granu) Moving_Object f_convexhull (tol) première version cte métho rourne l'veloppe : à instant donné. La secon version rourne obj convexe type d'e géométrie mobi mobject l'évolution cte veloppe convexe temps; représtant 8. SDO_GEOMETRY f_pointonsurface (tol, D_Timepoint_Granu) Moving_Object f_pointonsurface (tol) première version cte métho rourne point(lcon) : polygone mobi à instant donné. La secon version prd compte se trouve l'évolution polygone mobi temps; du 9. Union_Output f_initial () : cte métho rourne résultat l'opération at_instant au premier instant où l'obj mobi déni; 10. Union_Output f_final () résultat l'opération : simiire à métho précénte, cte métho rourne at_instant au rnier instant où l'obj mobi déni; 11. SDO_GEOMETRY f_trajectory () prtée point mobi. Une : projection cte métho du mouvemt perm du modéliser point mobi trajectoire sur pn em- s réalisée segmts mappant lignes (linéaires objs ou types arcs) ité mobi seront ( fusionnés compost an former point mobi) l'obj LineString sera rourné; 12. SDO_GEOMETRY f_traversed () prtée obj mobi. El : cte applicab métho à tous perm types modéliser spatio-temporels trajectoire autre em- mpoint.lagure3.13illustresonapplicationàrectangmobi(a)àcercmobi (b); Fig Opérateur f_traversed.

56 CHAPITRE 3. HERMES SDO_GEOMETRY f_locations ():cteméthopermmodélisertrajectoireemprtée point mobi. La diérce avec métho f_trajectory rési fait cte métho ne rourne pas obj LineString mais semb points Opérations numéris vaur Hermes numéri fournit ( égamt fonction trois s caractéristis méthos (surchargées) l'obj mobi) permtt à instant soit donné, rourner soit e rourner obj mobi représtant l'évolution cte vaur numéri temps[22]. 1. number f_area (tol, D_Timepoint_Granu) Moving_Real f_area (tol) première version cte métho rourne : l'aire d' obj mobi à instant donné. La secon version rourne obj type mreal mps(ex:objdontformechangemps).cteméthoapplicab représtant l'évolution cte aire à n'importe l polygone(avec ou sans trou, cerc rectang); 2. number f_ngth (tol, D_Timepoint_Granu) Moving_Real f_ngth (tol) premièreversioncteméthorournepérimètred'cercmobi,d'rectang mobi Dans ou cas d' d' polygone polygone mobi, mobi ou ayant longueur ou d'e plusieurs polyligne trous, mobi cte à métho instant calcu donné. périmètre total comme somme du périmètre s frontières externes du polygone du périmètre type du ou s trous. Dans sa secon version, cte métho rourne obj mreal représtant l'évolution temps ce périmètre ou cte longueur; 3. Varchar2 f_num_of_componts () pls_integer f_num_of_componts (mtype Varchar2) première version cte métho rourne e chaîne structurée : nombre composants comporte e colction d'objs (mcolction). caractères La décrivant version cte métho a pour argumt e chaîne caractères décrivant obj secon bi, rourne nombre d'obj(s) ce même type compose(nt) colction. mo Opérations portant sur distances directions s objs mobi ux Hermes objs fournit mobi ux l'ang méthos formé permtt segmt respectivemt ligne reliant ux calcur points mobi[22]. distance tre 1. number f_distance (Moving Type, tol, D_Timepoint_Granu) Moving_Real f_distance (Moving Type, tol) première version cte métho perm calcur distance : bi à instant donné. La secon version rourne obj type tre ux objs mo- mreal l'évolution cte distance temps; représtant 2. number f_direction (Moving_Point, D_Timepoint_Granu) Moving_Real f_direction (Moving_Point) premièreversioncteméthopermcalcurl'angforméegmtligne : (à version instant rourne donné) obj reliant type premier point mobi (du segmt) second. La secon mreal La gure 3.15 illustre méthos représtant l'évolution c ang temps. f_distance f_direction d' point mobi (représtant e étoi) rapport à autre [22]. El (représtant montre direction supposanttrajectoirel'étoiuitdroite Terre), uv celterresuitl'axe xx, étoi distance e gaxie). tre point mobi polygone mobi(représtant respectivemt e

57 CHAPITRE 3. HERMES Retions d'semb Fig Opérateurs f_distance f_direction. mobi[22]. Hermes fournit quatre méthos permtant décrire retions d'semb tre objs 1. SDO_GEOMETRY f_intersection (Moving Type, tol, D_Timepoint_Granu) Moving_Object f_intersection (Moving Type, tol) : : (AND) première ux version objs cte mobi métho à instant rourne donné. e géométrie La secon représtant version rourne l'intersection j type ob- mobject 3.14 illustre l'intersection représtant d'e polyligne l'évolution mobi cte avec intersection polygone mobi temps. trois La instants gure diérts [22]. A l'instant t 1, résultat sera obj type LineString. A l'instant t résultat sera obj type multi_linestring. A l'instant 2, t colction types 3, résultat sera e hétérogènes(linestring Point); Fig Opérateur f_intersection. Moving_Object f_ion (Moving Type, tol) première version cte métho rourne e géométrie : ux objs mobi à instant donné. La secon version représtant rourne obj l'ion (OU) type mobject représtant l'évolution cte ion temps; 2. SDO_GEOMETRY f_ion (Moving Type, tol, D_Timepoint_Granu)

58 CHAPITRE 3. HERMES SDO_GEOMETRY f_differce (Moving Type, tol, D_Timepoint_Granu) SDO_GEOMETRY f_differce (Moving Type, tol) première version cte métho rourne e géométrie représtant : ux objs mobi à instant donné. La secon version rourne obj diérce type mobject représtant l'évolution cte diérce temps; Moving_Object f_xor (Moving Type, tol) première version cte métho rourne e géométrie : métri(xor) ux objs mobi à instant donné. La représtant secon version diérce rourne sy- obj type mobject représtant l'évolution cte diérce temps. 4. SDO_GEOMETRY f_xor (Moving Type, tol, D_Timepoint_Granu) Taux changemt Hermes Une importante fournit trois propriété opérations toute permtt vaur évolue décrire ce taux temps (applicab taux imt changemt. points mobi)[22]. aux 1. number f_speed (D_Timepoint_Granu) Moving_Real f_speed (D_Timepoint_Granu) première version cte métho perm calcur : instant donné. La secon version rourne obj type vitesse d' point mobi à mreal cte vitesse temps; représtant l'évolution 2. number f_turn (D_Timepoint_Granu) Moving_Real f_turn (D_Timepoint_Granu) premièreversioncteméthopermreprésteruxchangemtl'ang formé version rourne l'axe s obj abscisses type vecteur mouvemt à instant donné. La secon mreal temps; représtant l'évolution ce taux changemt 3. SDO_GEOMETRY f_velocity (D_Timepoint_Granu) Moving_Point f_velocity (D_Timepoint_Granu) premièreversioncteméthopermcalcurvélocité instant donné. La secon version rourne point mobi représtant 8 d'pointmobià vélocité temps. l'évolution cte 8Quantité vectoriel rseigant sur taux changemt s positions d' obj mobi.

59 Chapitre 4 Migration d'hermes d'orac vers PostgreSQL d'orac Nous vers allons PostgreSQL voir ce chapitre principa étapes ont permis migrer Hermes SGBD PostgreSQL. Mais 1 concrètemt, ainsi fournir quoi e consiste première cte extsion migration? spatio-temporel Que signie migrer pour système? premier temps. Comme Le but doit-on ce s'y chapitre prdre? n'étant C' pas ce à quoi s'intéresser nous allons à l'semb tter s répondre fonctionnalités proposées ontnécessitéemigration.pource,nouspasseronsrevuecesélémtsnousverrons Orac, nous nous limiterons second temps à cel compost Hermes s exemp concrs. 4.1 Introduction La migration d'e application a d' système s 1 vers système s fait traduire l'application 2 peut se résumer a d' ngage l 1 vers ngage l consiste à faire sorte l'application 2. En d'autres termes, ce a puisse fonctionner sans combre sur système s La traduction l'tièré l'application 2. a élémts s ngages n' pas forcémt nécessaire. En e, si certains l 1 l ces rniers ne sera pas nécessaire. 2 sont comms sont utilisés l'application a, e traduction r, La principa rési diculté fait qu'gdre certains concepts tel processus, présts plus ngage traduction à propremt l peuvt ne pas exister ngage 1 ( utilisés a) l permtt simur ces concepts. Ainsi, 2. Dans tel ce processus cas, il faudra nécessite trouver plusieurs s alternatives phases. Dans cas d'hermes, il s' principamt réalisé trois étapes. SGBD La première Orac consiste SGBD à s'intéresser PostgreSQL au ngage permtant d'interfacer avec respectivemt (l 1 l fonctionnalités base sont disponib (types 2 ). C' l'intermédiaire fonctions standards). ce ngage Ces fonctionnalités repose cartouches représtt spatia tie temporel, ctra d'hermes el-même puisqu'el étant constitut base d'hermes. base Généramt, sur l il sont s'agit généramt d' ngage commes étd à fonctionnalités majorité s SGBD. proposées Cepdant, SQL. il Ces n' fonctionnalités pas à exclure base noms ces types ces fonctions soit diérts, donc e traduction sera nécessaire. Au niveau d'orac (s 1 ), ce ngage se nomme PL/SQL pour Procedural Language/ Structured Query Language [17, 8] (l 1 ). Sous PostgreSQL (s 2 ), ce ngage se nomme PL/PgSQL pour Pro- 1Orac 10g PostgreSQL cadre ce mémoire. 51

60 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 52 cedural Language/ PostgreSQL Structured Query Language [19, 6] (l tard sur ticurités ces ux ngages. Cepdant, nous pouvons 2 ). Nous d'ores revidrons déjà dire plus PL/PgSQL très proche du PL/SQL. Nous verrons suite qu'e gran tie du co source l'étu d'hermes ces ux sous ngages forme scripts l'analyse PL/SQL. ur Ainsi, syntaxe cte première respective étape (variab, peut se fonctions, résumer structures contrô, c.) C++.Dèslors,seconétapeduprocessusmigrationconsisteàs'intéresseràl'interaction Certains s scripts PL/SQL d'hermes font appel à s fonctionnalités externes développées trgaged'interface(l i )ngagehôte. spatia. Enn, Sous rnière Hermes, étape el du provint processus d'orac migration Spatial. consiste Sous à PostgreSQL, s'intéresser aux ces fonctionnalités fonctionnalités sont fournies SGBD se PostGIS. bast généramt Nous l'avons sur dit précémmt, spécications fonctionnalités l'ogc (voir spatia gure 2.5). proposées Spatial(voirgure3.2)PostGISnedérogtpasàceprincipe.Ilfaudradonctraduirypes Orac fonctionsd'oracspatialversursévantssouspostgis.adéfauttraduire,ilfaudra évtuelmt trouver s alternatives. 4.2 Architecture d'hermes Introduction Nous Dans allons chapitre à prést précént, l'exposer sous nous avons autre présté ang. Nous Hermes allons d' plus point précisémt vue assez nous théori. à ses sources. Nous l'avons vu précémmt, Hermes a été conçu tant qu'extsion intéresser temporelpoursgbdorac.ilregroupeainsitoutsembd'outilspermtantgion spatio- consiste l'extsion spatio-temporel d' SGBD? Commt l'intermédiaire procè-t-on d' SGBD pour Orac. étdre Mais SGBD? concrètemt, C' ce à quoi nous allons tter répondre. quoi temt, Etdre tout SGBD SGBD dispose consiste à tab développer systèmes(aussi nouvel appelés fonctionnalités dictionnaire pour ce rnier. ou Concrèlogues systèmes) l il registre toutes sortes d'informations retives aux types cata-, aux fonctions, aux tab utilisateurs, aux attributs ces tab, aux méthos d'accès, aux raisst contraintes comme s d'intégrités, tab aux droits ordinaires. utilisateurs, Par c. consént, Au niveau il utilisateur, possib ces tab modier appa- tab ( disposant s privilèges res). Et puis fonctionnalités d' SGBD se bast ces sur tionnalités ces tab, s'eectue SGBD l'intermédiaire peut être étdu. du ngage Sous Orac, PL/SQL, développemt ce rnier pouvant ces faire nouvel appel à fonc- fonctionnalités développées ngage hôte (C, C++, Java, Perl, c.). Hermes étd s SGBD Orac l'intermédiaire trois scripts PL/SQL Script TAU_TLL.sql puremt Ce premier temporel script correspond qu'hermes à supporte. cartouche(du Il comporte même nom)[18] peu plus fournit lignes fonctionnalités sont réties vingt-ux packages regroupant peu moins d' millier fonctions cos procédures. Les noms ces packages sont repris tabau suivant.

61 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 53 Period Temporal Emt Timepoint D_Period_Y D_Te_Y D_Timepoint_Y D_Period_M D_Te_M D_Timepoint_M D_Period_D D_Te_D D_Timepoint_D D_Period_H D_Te_H D_Timepoint_H D_Period_Min D_Te_Min D_Timepoint_Min D_Period_Sec D_Te_Sec D_Timepoint_Sec Date Time Timamp Interval D_Date D_Time D_Timamp D_Interval vait Nous être avons résumés vu précémmt e ontologie sept concepts élémts(voir nécessaires section à 2.3.3). modélisation Ces rniers du temps ont donné pou- naissances gure3.1).and'orirecertainesoupseaiveaumodélisation,certainscesconcepts aux sept principaux concepts temporels supportés cartouche TAU_TLL(voir - sont associés à e granurité (Year, Month, Day, Hour, Minute pourrareprésterinstant(surlignedutemps)esecon,eminute,oucore ou Second). Par exemp, on e temporelsupportéscartouchetau_tll(hermes)sont année, tout dépdant précision l'on souhaite. Par consént, aombrevingt-ux. types Pour packages, cte chac raison, l'semb ces rniers s concernant fonctionnalités type temporel ont ticulier. été réties Par exemp, vingt-ux tionnalités concernant concept Period sont regroupées six packages (car six granurités fonc- possib).inmêmepourconceptstemporalemt autres concepts temporels, fonctionnalités urs sont associées Timepoint.Pourquatre ckages respectifs sont réties quatre pa- TAU_TLL En plus sont du script égamt TAU_TLL.sql, réties e fonctionnalités bibliothè temporel lis dynamis fournies cartouche (Dynamic Link Library du co angis).lebutd'elbibliothè,sousformed'chier (C++, Java ou autres) à disposition. Dans cas cartouche TAU_TLL, 2,mtre bibliothè (.dll) constitue c ur puisqu'el fournit totalité du co source cte ( lignes C++) s fonctionnalités préstes script TAU_TLL.sql. Ainsi, co fonction PL/SQL ne fait charger co fonction correspondante bibliothè. d'e Ce fonction chargemt PL/SQL, s'eectue cte rnière manière va dynami. explicitemt Ce manr signie qu'au chargemt momt l'exécution bibliothè d'e an égamt récupérer dénis co l'intermédiaire source fonction cte bibliothè. correspondante. Certains types sont Script HERMES.sql surtypesdéniscriptprécént,surfonctionstypesproposésorac Ce second script fournit fonctionnalités spatio-temporel. Il se base ainsi sur fonctions Spatial. section 3.4, Il regroupe ainsi peu types moins d'e ctaine spatio-temporels fonctions, dont nous certaines avons introduits ont été préstées au chapitre précént(voir section ) Script UTILITIES.sql fonctions Cernierscriptesorteboîteàoutils.Ilregroupe(seulpackage)evingtaine préstées section seront 3.4(ex: utilisées distance, script HERMES.sql. Certaines ces fonctions ont été direction ou core check_colinear). 2.dll (vironnemt Windows),.so,.a,.dylib (vironnemt Unix)

62 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL Langage d'interface avec SGBD : PL/SQL versus PL/PgSQL Ce Une rnier gran perm tie s créer, fonctionnalités gérer proposées manipur s Hermes méthos a été développée s types PL/SQL. spatia, temporel spatio-temporel. An qu'hermes puisse être utilisé sous PostgreSQL, e PostgreSQL). traduction du PL/SQL vers du PL/PgSQL nécessaire(pl/sql n'étant pas supporté Introduction coté PL/SQL[8] serveur. Introduit ngage 1988 procédural (PL/SQL propre 1.0) aux systèmes version Orac. 6 s Il SGBD s'agit Orac, donc d' ngage PL/SQL a pour principal objectif combr limitations du ngage SQL. A cte n, ngage été conçu tant qu'extsion du ngage SQL. Il ajoute ainsi semb fonctionnalités il a procédura utilisant s au structures ngage SQL. contrô. Ainsi, il sera Les possib, principa ticurités exemp, du faire ngage s requêtes PL/SQL SQL sont: tout 1. Support du ngage SQL; 2. Amélioration s performances; 3. Support programmation oritée-obj; 4. Portabilité 5. Sécurité. L'saspectsplusimportantsdungagePL/SQLqu'ilpeutintégrerducoSQLsans auce s diculté blocs cos sans PL/SQL(ngage nécessité traduction. orité Ainis, bloc). du Cte co notion SQL pourra bloc aisémt esstiel être inséré ngage PL/SQL. C' l'intermédiaire ces blocs traitemts performances d' PL/SQL), SGBD peuvt SGBD être ne peut améliorées. exécuter Dans qu'e cas seu d'e requête application à fois. cssi Une application (sans utilisation (clite) du nécessitant réalisation n requêtes fera appel au SGBD(serveur) n bloc,ilseradorénavantpossibregrouper fois. Grâce à cte notion n l'appeusgbdneseferaqu'eseufois(voil'tièrédubloc) requêtesseulbloctraitemts, réduire considérabmt trac tre clit serveur. En combinant 3.Ainsi,ceperm avecl'utilisationprocéduresstockées,itpossibdénirsfonctionsconstituéesblocs cte notion bloc d'instructions peuvtêtreexécutéesàdistancel'applicationclite SQL pré-compilés stockés au niveau du serveur. L'avantage ces fonctions 4.Lagure4.1illustrecesprincipes[17]. Fig. 4.1 Améliorations s performances d' SGBD Orac avec l'utilisation du PL/SQL. 3En supposant l'applications supporte PL/SQL. 4Dans ce cas, l'application clit ne doit pas forcémt supporter PL/SQL.

63 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 55 Au niveau du serveur, traitemt d' bloc PL/SQL géré ux moteurs internes : l' pour gion s instructions procédura l'autre pour gion s instructions SQL. Ce procédé perm d'accélérer traitemt. La gure 4.2 illustre ce principe[17]. Fig. 4.2 Traitemt d' bloc PL/SQL. loppemt Le ngage d'applications PL/SQL supporte compxes. égamt Enn, adigme possibilité orité-obj stocker s an procédures permtre au niveau déve- serveur(dontgionàchargecernier)permd'accroîtresécurités du (ex: possibilité dénir s droits sur ces procédures). vel Depuis version son s apition SGBD Orac 1988, apaît ngage égamt PL/SQL e a nouvel fortemt version évolué. du En ngage. fait, à cha La rnière nou- versionàcejourpl/sql10.2(apuavecorac10grease2) 5. qu'extsion ToutcommePL/SQL,ngagePL/PgSQLngageprocéduraétéconçutant PL/SQL(orité du ngage bloc, possibilité SQL. Il d'utiliser propre s au structures système Postgres contrô, s très variab, simiire c.). au ngage Aprést,voyonsplusprèssyntaxecesuxngagesand'avoiremeilurevision migration d'hermes Structure d' bloc La constituée structure d' trois bloc ties: traitemts sous PL/SQL inti à cel sous PL/PgSQL. El DECLARE /* Décrations variab initialisations. */ BEGIN /* Instructions exécutab. */ EXCEPTION /* Gion s exceptions. */ END ; Les mots clés BEGIN END indint respectivemt début n s instructions exécutab.lemotclé DECLARE indidébuttiecontidradécrationsvariab 5Depuis Orac 8, numéro version du ngage PL/SQL suit numéro version du SGBD (PL/SQL 8.0, PL/SQL 8.1, PL/SQL 9.1, c.)

64 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 56 constantes seront utilisées. Le bloc EXCEPTION ceptions aurait été ncées bloc BEGIN. Le perm ngage PL/SQL récupérer autorise traiter l'imbrication ex- présté blocs, sous ce Hermes. ngage PL/PgSQL n'autorise pas. Cepdant, ce cas gure ne s' pas Variab constantes explicitemt PL/SQL, tout décrée comme PL/PgSQL tie oblige DECLARE. La toute décration variab utilisée d'e variab (sous instructions PL/SQL soit sous PL/PgSQL) respecte forme suivante: nom [CONSTANT] type [NOT NULL] [{ DEFAULT vaur} := expression] ; tive Bi (sauf évimmt, cas décration l'initialisation d'e d'e constante). variab Le au mot momt clé sa décration faculta- NOT NULL contrainte sur variab sera vériée à l'exécution. Une erreur sera perm générée d'applir cas non e respectcterèg.lemotclé DEFAULT défaut à variab. Il s'agit d'e alternative perm,commesonnoml'indi,donnerevaur à l'initialisation cssi Types standards sous Les PL/PgSQL. types Les ls standards diérces proposés notab sous PL/SQL résint sont quasi s noms intis types à ceux diérts. proposés ce concerne Hermes, traduction s types se résume au tabau suivant. En PL/SQL pls_integer float varchar2(n) varchar2 PL/PgSQL integer doub precision character varying(n), varchar(n) varchar, text numeric(p, s) number(p, s) real(si p=4 s=6) doub precision (si p=8 s=15) smallint (si p=2) number(p) integer(si p bigint(si p=8) = 4) ne se Cepdant,itàsoulignerqu'emigrationstypesPL/SQLversPL/PgSQL tous résume cas pas gure. au tabau Par exemp, ci-ssus. certains En e, types migration d'hermes sous PL/SQL n' pas n'existt représtative pas sous PL/PgSQL (ex : tab). D'autres ont s noms diérts (ex : raw, long raw, blob bytea; xmltype plusampinformations[17,8,19,6]. xml).cepdant,cesortducadrecemémoire.lecteurintéressépourratrouver Structures contrô Aiveausstructurescontrô(IF, THEN, ELSE, ELSE a quasi pas diérces tre PL/SQL PL/PgSQL. La seu IF, diérce WHEN, FOR, notab LOOP, CASE),iln'y signar rési e bouc l'on peut FOR dont compteur va décroissant. PL/SQL FOR i IN REVERSE LOOP PL/PgSQL FOR i IN REVERSE LOOP

65 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL Tabaux diairel'opérateur L'utilisation tabaux assez simiire. Par exemp, dénition s'eectue l'intermé- [] sur s tabaux type ouviamotclé VARRAY. Ce type ARRAY.Aiveaud'Hermes,scriptsPL/SQLsebasait longueur variab, accompagné d' semb, fonctions permtant lui sont supporter propres. s Cepdant, tabaux n'existe pas tel type sous PL/PgSQL. Il a donc fallu trouver s alternatives peuvt se il résumer tabau suivant. PL/SQL PL/PgSQL tab(i) tab[i] tab.first tab[1] tab.last tab[array_upper(tab, 1)] tab.prior(i) tab[i-1] tab.next(i) tab[i+1] tab.extend array_appd(tab, NULL) tab.extend(n) tab.count array_upper(tab, 1) Apper n fois métho précénte tab.extend(n, em) Apper n fois array_appd(tab, em) Enceconcerneméthos PRIOR[i] NEXT[i] mtsi ipremierrnierélémtdutabau.sic'cas,elrournenull.ainsi, dutype VARRAY,elttrespective- souspl/pgsql,ilfaudraégamtfairecsavantd'accérrespectivemtau(i 1)ème 8.4métho élémt.enceconcernemétho array_ngth.anouveau,cabaerepréstepastouscasgure COUNT,elpeutêtrraduitesousPostgreSQL (i+1)ème cas migration Fonctions procédures Dénition ls Au niveau légères diérces. dénition s fonctions, structure généra même. Cepdant, il existe PL/SQL PL/PgSQL CREATE [OR REPLACE] FUNCTION CREATE [OR REPLACE] FUNCTION nom ([am]) nom ([am]) RETURN type IS RETURNS type AS [DECLARE] DECLARE [/* Décrations initialisaitions.*/] /*Décrations initialisations. */ BEGIN BEGIN /* Instructions exécutab. */ /* Instructions exécutab. */ END ; END ; LANGUAGE plpgsql ; La principa diérce rési présce du mot clé LANGUAGE nier perm d'indir l ngage fonction a été développée doit sous obligatoiremt PL/PgSQL. Ce être r- logimt indiqué.nousrevidronsplustardsurcemotclé.enceconcernemotclé facultatif(ex: fonction sans variab). Cepdant, même présce DECLARE,it cemotcléfacultatifsouspl/sql,c'pascassouspl/pgsql. variab(s), fonctions.ene,ngagepl/sqlsebasesurmotclé Au niveau s dénitions procédures, diérce plus prononcée qu'au niveau s PROCEDURE Or, ce mot clé n'existe pas sous PL/PgSQL. Néanmoins, problème peut pourcréersprocédures. facimt se résoudre.

66 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 58 Il sut vaur pour rour(void). ce rempcer toute procédure PL/SQL e fonction PL/PgSQL n'ayant pas PL/SQL PL/PgSQL CREATE [OR REPLACE] PROCEDURE CREATE [OR REPLACE] FUNCTION nom ([am]) nom ([am]) IS RETURNS void AS [DECLARE] DECLARE [/* Décrations initialisations.*/] /*Décrations initialisations. */ BEGIN BEGIN /* Instructions exécutab.*/ /* Instructions exécutab. */ END ; END ; LANGUAGE plpgsql ; Paramétrage argumt. Au niveau Ainsi, du amètrage cha amètre s fonctions, caractérisé ngage PL/SQL nom nomme explicitemt type. Au niveau cha ngage PL/PgSQL, seul type caractérise(pas nommage explicite). En e, cha amètre du suite. Cepdant, a nom plutôt défaut. d'utiliser Le premier ce nommage, amètre il sera possib nommé d'associer $1, second cha $2, amètre ainsi e variab(alias). à PL/SQL PL/PgSQL CREATE FUNCTION nom (p integer) CREATE FUNCTION nom (integer) RETURN integer IS RETURNS integer AS [DECLARE] DECLARE... p ALIAS FOR $1 ; BEGIN BEGIN On fonctions peut noter avait e imt ticurité s au types niveau du base amétrage (tier, chaînes s fonctions caractères, sous Hermes: c.) comme toutes argumts. était secon, Par exemp, recevait e réalité fonction six nombres recevait amètres(année, amètre instant mois, jour, dont heure, granurité secon). Ce n' corps fonction type minute, instant ces amètres. Sachant certaines fonctions était susceptib d'avoir jusqu'à était créé six sur instants base amètres, PostgreSQL il n'était ne supporte pas rare pas voir tant e fonction amètres avec pour e trtaine e fonction amètres. (limités à dix-huit), Etant donné fallu modier cte façon amétrer. Ainsi, au lieu qu'e fonction reçoive six argumts pour il a représterinstant,elrecevraàpceseulamètrypeinstant type D_Timepoint_Sec). (plusexactemt Regroupemt fonctions clé Sous PACKAGE).Ilsutpourceprocércommesuit: PL/SQL, regroupemt fonctions s'eectue l'intermédaire packages (mot CREATE OR REPLACE PACKAGE nom_package AS FUNCTION fct1 (amètres) FUNCTION fct2 (amètres) ;... END;

67 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 59 nom L'accèsàfonction du package(nom_package.fct1). fct1exemp'eectuerafaisantprécérnomfonction autrotionpermtraitsimurpackage:schéma.cernierespacoms Cepdant, cte notion package n'existe pas sous PL/PgSQL. Néanmoins, il existe e lors,onpeuttraduirecoprécéntpl/pgsqlcosuivant: l il possib regrouper s fonctions, s types, s vues 6, c. Dès CREATE OR REPLACE SCHEMA nom_schema ; CREATE OR REPLACE FUNCTION nom_schema.fct1 (amètres) ; CREATE OR REPLACE FUNCTION nom_schema.fct2 (amètres) ;... Contrairemt à l'utilisation packages, dénition d' schéma ne peut pas directemt spécier fonctions à regrouper. La dénition s'eectue donc séémt Erreurs messages L'achage s messages d'erreur assez simiire. PL/SQL PL/PgSQL RAISE_APPLICATION_ERROR(num, msg ); RAISE EXCEPTION msg ; DBMS_OUTPUT.PUT_LINE ( msg ); RAISE NOTICE msg ; souspl/sql.néanmoins,cuméropourraaisémtêtreconcaténéavecmessaged'erreursous La seu diérce rési présce d' numéro message d'erreur(nombre négatif) PL/PgSQL.Anotersi msg message avec variab quion. contitvaurd'evariab,pl/sqlilfaudraconcaténer Par exemp, s'il faut acher résultat Sous d'e PL/PgSQL, variab tière, il faudra il spécier faudra indir type son cte type variab. (im qu'avec fonction %d printf C). PL/SQL PL/PgSQL RAISE_APPLICATION_ERROR( RAISE EXCEPTION , Variab tmp = tmp :Variab %d =, tmp ; ); Types utilisateur notion d'obj rces. Au niveau Ces rnières s types résint dénies fait l'utilisateur, possibilités sont il existe plus nombreuses certain nombre sous PL/SQL. dié- Par exemp, création d' obj PL/SQL s'eectue l'intermédiaire du mot clé OBJECT composites(plusieurs n'existe pas PL/PgSQL. attributs) Néanmoins, sous PL/PgSQL. il possib rempcer ces objs s types PL/SQL PL/PgSQL CREATE [OR REPLACE] TYPE type CREATE [OR REPLACE] TYPE type AS OBJECT ( AS ( x integer, x integer, y integer y integer ) ; ); Cepdant, PL/SQL perm d'associer type OBJECT l'intermédiaire du mot clé MEMBER. Il donne ainsi possibilité à s créer fonctions véritab s procédures objs sous formes csses. Bi PostgreSQL soit SGBD retionnel-obj 7 (tout comme Orac 6Vue = tab virtuel dénie l'intermédiaire d'e requête. 7Se basant sur modè retionnel aul certaines notions ont été ajoutées (types utilisateurs, pointeurs, interaction avec ngage hôte, c.).

68 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 60 puis tab(s) sa version (ex : tab 8), il n'ore pas cte possibilité. Il propose exemp notion d'héritage Captia comme e csse. Toutefois, il ne perm hérite pas d'associer tab Vil) e csse 8 où cha à s tab méthos pourra /ou être à vue types. De plus, cte notion d'héritage assez limitée puisqu'il ne se propage pas s cas d'insertion ou copie s (l'accès à attribut csse mère provora e erreur). il n'existe Ainsi, pas d'alternatives PostgreSQL permtant assez limité simur au niveau ce concept(regroupemt notion d'obj, type malheureusemt, Néanmoins, plutôt d'utiliser obj ( ss d'orac, c'-à-dire types + méthos). associés à s fonctions), on peut dénir types fonctions séémt. PL/SQL PL/PgSQL CREATE TYPE t AS OBJECT ( CREATE TYPE t AS ( x integer, x integer, y integer, y integer MEMBER FUNCTION fct ) ; ) ; CREATE TYPE BODY t IS CREATE FUNCTION fct (t, integer) MEMBER FUNCTION fct (p integer) RETURNS integer AS RETURN integer IS END ; END ; LANGUAGE plpgsql ; END; Soit v type t, i r type integer : Soit v type t, i r type integer : r = v.fct(i) r = fct (v, i) souspl/pgsqlqu'ilneserapaspermisregroupertypesfonctions Lesuxexempdutabauci-ssusfournirontmêmerésultat.Néanmoins,l'inconvénit urs sont associées. beaucoup Une autre plus diérce simp rési ci-ssus. création types tabaux. Néanmoins, solution PL/SQL PL/PgSQL CREATE [OR REPLACE] TYPE t CREATE [OR REPLACE] TYPE t AS VARRAY (n) OF autre_type ; AS ( autre_type [n] ) ; (casting).soit Enn, il existe égamt obj,edonnéype s diérces au niveau type1.saconversiontype conversion explicite tre type2sefera s types sous PL/SQL type2(obj) alors sous PL/PgSQL, ce se fera obj::type Interaction avec ngage hôte teragiravecsngageshôtes(java,c,c++,perl).nousl'avonsvuprécémmt,fonctions And'érgirperspectivesvisageabavecSGBD,cernierdonnepossibilitéd'in- du C++. script TAU_TLL.sql Ces rnières sont d'hermes préstes se base tièremt e librairie, sur s ainsi fonctions cha fonction externes PL/SQL développées charger fonction C++ correspondante. Ce chargemt possib tant sous Orac sous va PostgreSQL. Néanmoins, syntaxe assez diérte. 8Une requête sur sous-tab pourra mtionner s attributs tab mère (sans explicitemt mtionner).

69 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 61 PL/SQL PL/PgSQL CREATE [OR REPLACE] LIBRARY directoryn AS chemin_vers_lib ; FUNCTION fct (am) CREATE FUNCTION fct (am) RETURN type RETURNS type IS EXTERNAL AS chemin_vers_lib LANGUAGE ngage_hôte [, nom_fct lib ] [NAME nom_fct lib ] LANGUAGE ngage_hôte ; LIBRARY directoryn librairie On peut sous constater Orac nécessite c' création(via peu plus compxe mot clé sous LIBRARY) PL/SQL. du En répertoire e, l'utilisation contidra d'e d'e librairie fonction à charger. écrite Ce n' ngage qu'e hôte. fois ce Sous répertoire PostgreSQL, créé qu'il création sera possib ce répertoire récupérer n' co nécessaire( toute façon, ce n' pas possib). Seul chemin vers cte librairie ngagelaétédéveloppéesontnécessaires.enceconcernomfonction,il pas obligatoiresifonctionpl/pgsql(pl/sql)anomdiértcelngagehôte. pectée, Au niveau provora e librairie, erreur il lors existe du e chargemt. ticurité Pour sous rappel, PostgreSQL e librairie(dll), si el n' constituée pas res- d' semb librairie, généramt sources seront chier mises d'-tête à disposition. reprdra An signature ces fonctions ces soit fonctions disponib type rour, type(s) du/s amètre(s)). Sous Orac exemp, cha signature (nom, spéciée comme suit: sera type_rour fct ( type(s) amètres(s) ) ; PostgreSQL, Et lorsqu'on c' visualisera peu plus librairie, compliqué. on Il verra existe apaître ux types nom signatures fonction fonctions. fct. Mais La sous mière (appelée version-0) inti à cel ci-ssus, corps fonction du co pre- ordinaire tre types du ngage hôte. En du raison ngage hôte problèmes ceux sous portabilité PL/PgSQL, cte compatibilité, version notammt vemt rempcée secon version (appelée version-1). En e, prochaines versions progressi- PostgreSQL supporteront imt version-1. Pour cte raison, c' cte rnière a été suivie l'utilisation lors cte macros migration. An version-1. combr Les principa ces sont: version-0, PostgreSQL a introduit 1. PG_FUNCTION_INFO_V1 nom_fonction:indi(aiveausignature) nom_fonction suit version-1; 2. PG_FUNCTION_ARGS amètre; : indi (au niveau signature) qu'e fonction a au moins 3. PG_GETARG_type(i) :récupère amètre(type type)fonction; 4. ième PG_RETURN_type(var) : rourne variab var traduit type correspondant sous PL/PgSQL dont (ex type, : ngage hôte, oat oat8, real oat4, string text,c.[19]); 5. PG_GETARG_POINTER(i) :récupère amètrepointeur; 6. ième PG_RETURN_POINTER(var) : rourne pointeur var; 7. PG_RETURN_DATUM(var) : rourne variab var posite). Dans ce cas, l'utilisation l'api type compxe(ex: type com- S Rurning Fction rnier contit semb fonctions permtt gérer création, sera nécessaire l'initialisation car ce rour(verssgbd)d'typecompxeàtird'ngagehôte.lecteurintéressé pourra trouver plus amp informations au suj c API [19].

70 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 62 En d' plus bloc s magi ticurités co version-1, librairie. PostgreSQL Ce bloc, impose (puis fait version e macro, 8.2) perm présce détecter si librairie ( doit être chargée) incompatib avec SGBD. Ce bloc vériera, An exemp, d'inclure ce bloc du co magi, n'a pas l'utilisation été compilé l'api pour e version majeure diérte du SGBD. Fction Call Interface rnier regroupe tout e série fonctionnalités permtt gérer création sera nécessaire. fonctions, Ce d'être notammt e librairie co s chargeab macros ci-ssus. respectivemt Voici sous exemp Orac fonction sous PostgreSQL. C serait susceptib #inclu <oci.h> Orac PostgreSQL #inclu postgres.h #inclu fmgr.h /* Bloc magi. */ PG_MODULE_MAGIC /* Signature (vaur rour amètre comms à tt signatures fonctions) */ EXPORT Datum add_one (PG_FUNCTION_ARGS) ; PG_FUNCTION_INFO_V1(add_one) ; int add_one (int p){ Datum add_one(pg_function_args) { try{ try{ rurn (p+1) ; int arg = PG_GETARG_INT32(0); } PG_RETURN_INT32(arg + 1); catch(exception e){ } OCIExtProcRaiseExcpWithMsg ( catch(exception e){ OCIExtProcContext, co, ereport(error,errcod(e), msg ); errmsg( msg )) ; } } } } rour SousPL/PgSQL,lype Datum. C' l'appel à Datumesortypeiversel.Toutefonctionapourtype macro PG_GETARG_type quat. A noter égamt toute fonction a pour amètre permtra rourner type adé- PG_FUNCTION_ARGS au amètre (assez simiire argv[] d'e fonction main C). mtaiveaugionsexceptions.ene,lorsqu'efonctionpl/sql(oupl/pgsql) Miseàtpréscesmacrosprécémmtintroduites,cesuxexempdièrtéga- charge ce e ngage fonction hôte. d' An ngage d'assurer hôte, l'échange el d'informations susceptib d'intercepter sur cte exception e exception tre survue ngage hôte, Orac se base sur l'api SGBD Orac Call Interface fonctionnalités permtant d'accér à SGBD Orac. Ce rnier propose regroupe métho semb OCIExt- ProcRaiseExcpWithMsg fonction PL/SQL sous Orac. perm Sous PostgreSQL, ncer e exception ncemt d'e pourra exception être récupérée réalisée e métho ereport dénie l'api Error Reporting ronspasdétailscesapicarcesortducadrecemémoire.ene,gions propre à PostgreSQL. Nous ne rtre- exceptions précémmt sous (section Hermes 4.3.8). peut se Le résumer cteur intéressé ces ux pourra fonctions, trouver plus plus amp ce a informations été indiqué [17, 19].

71 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL Cartouche spatia : Orac Spatial versus PostGIS Introduction pu être C' réalisée. sur base Mais s élémts ce repris concerne jusqu'à scripts prést HERMES.sql migration UTILITIES.sql, du script TAU_TLL.sql il man a core nousallonsvoiràprést.maisavantvoirprincipauxélémtsontétémigrésaiveau e chose: migration s types s fonctionnalités spatia. C' ce s au niveau spatia, représtation il convit d'explir ce type sous premier Orac temps sous l'approche Postgres. Ceci a été permtra adoptée mieux comprdre cte étape du processus migration Obj spatial sous Orac Spatial : SDO_GEOMETRY fournit Nous toutes l'avons vu fonctionnalités précémmt, nécessaires cartouche à gion spatia d'orac se spatia. nomme Orac An Spatial. représter El cype,ebasesurehiérarchiypes(voirgure3.2)assezsimiire à donnée cel proposée spatia était l'ogc stockée (voir comme gure 2.5). obj Nous type avons égamt vu (section 3.3.1) toute SDO_GEOMETRY ct,notiontabnichée étaitutilisée.aprést,voyonsplusdétaildénition e seu colonne. A cypedonnée. Sous Orac Spatial, type SDO_GEOMETRY cinq attributs[17]: représté obj caractérisé CREATE TYPE SDO_GEOMETRY AS OBJECT ( SDO_GTYPE NUMBER, SDO_SRID NUMBER, SDO_POINT SDO_POINT_TYPE, SDO_ELEM_INFO SDO_ELEM_INFO_ARRAY, SDO_ORDINATES SDO_ORDINATE_ARRAY ); puis C obj tout obj représte spatial somm(csse obj SDO_GEOMETRY. mère) La hiérarchie distinction types tre préstée gure 3.2 Point ou Polygon s'eectuera imt sur base s attributs. Voyons à prést ls sont ces rniers. SDO_GTYPE Il C'sur représté basecattributqu'onpourraintier nombre quatre chires dont lype vaurs géométrierepréstel'obj. possib sont ci-ssous[17]. Vaur Type géométrie Description d000 d001 Géométrie inconnue Cte vaur sera ignorée POINT d002 Représte point LINESTRING d003 Représte e polyligne POLYGON d004 Représte polygone MULTIPOINT d005 Représte e colction points MULTILINESTRING d006 Représter e colction polylignes MULTIPOLYGON Représter e colction polygones d indira permd'indirdimsionll'objreprésté.parexempvaur3001 (x, y, z). point trois dimsions. Orac Spatial attdra ce cas-là trois coor

72 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 64 SDO_SRID l'origine C attribut s coor indira système l'espace. référce spatial utilisé. Ce système permtra d'établir SDO_POINT Ce C' rnier l'intermédiaire limité à trois dimsions. c attribut Si qu'il c attribut possib utilisé, stocker alors coor ux rniers d' attributs point. sont Lypecattributdénicommesuit[17]: à NULL. Par contre, si ux rniers attributs sont non nuls, c attribut-ci sera ignoré. CREATE TYPE SDO_POINT_TYPE AS OBJECT ( X NUMBER, Y NUMBER, Z NUMBER ); SDO_ELEM_INFO C attribut perm rseigner sur l'interprétation s coor stockées champ SDO_ORDINATES.Lypecattributdénicommesuit[17]: CREATE TYPE SDO_ELEM_INFO_ARRAY AS VARRAY ( ) OF NUMBER ; caractérisé Cha : élémt y stocké l' sous forme tripl(s). Chac ces rniers SDO_STARTING_OFFSET quion ( primitive) SDO_ORDINATES. Indirangcoordonnéedétl'élémt d' polygone ou d'e ligne. Une primitive désignera, exemp, point SDO_ETYPE Itrepréstéchire(0à5).Leschires35ontuxvariantespossib.Soit Indilypegéométrieprimitivockée SDO_ORDINATES. n=3ou5: n: spécie qu'il s'agit l'anneau extérieur d' polygone trou(s); n: spécie qu'il s'agit d' anneau intérieur d' polygone à trou(s); Les seultripl.leschires4,5, sontconsidéréscommesélémtscomposés chires 1, 2, sont considérés comme s élémts simp seront stockés seront stockés au moins ux tripls contigus. SDO_INTERPRETATION primitive stockée SDO_ORDINATES. Rseigne S'il s'agit sur linterprétation d' élémt composé, du type ce champ géométrie indira SDO_ETYPE. nombre sous-tripls Voici vaurs possib compost l'élémt. peuvt Ce prdre champ ces ux donc champs[17]. fortemt lié au champ

73 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 65 SDO_ SDO_INTER- Signication ETYPE PRETATION 0 N'importe Utilisé OracSpatialseraignorécernier pour représter toute géométrie non supportée 1 n>1 1 Ensemb Point 1 Ligne dont somms sont reliés npoints 2 2 Ligne composée d'e sénce d'arcs s dénis segmts(lignes trois points droites) (1 2)003 1 Polygone avec simp rnier) dont sont somms( reliés s premier segmts coïncidant (1 2)003 (1 2) Polygone Rectang(déni composé d'e sénce ux points) fermée d'arcs (1 2) Cerc déni trois points localisés sur circonférce n > 1 ssegmtsd'autressarcs. Ligne compxe dont certains somms nindiranombre sont reliés sous-élémts(tripl) sous-élémt premier nécessaires. du sous-élémt Le rnier suivant. point d' (1 2)005 n > 1 Im compxes ci-ssus non sauf qu'il lignes s'agit compxe. polygones SDO_ORDINATES liéauchamp C attribut SDO_ELEM_INFO.Lypecattributdénicommesuit[17]: perm stocker coor décrivant obj spatial. Il étroitemt CREATE TYPE SDO_ORDINATE_ARRAY AS VARRAY ( ) OF NUMBER ; spatiauxgure3.2.pronscasd'rectangoud'polygoneàtrou,ilspourrontêtre Grâce à cte représtation, Orac Spatial ore possibilité représter tous types représtés comme suit: Polygone avec trou Rectang SDO_GTYPE SDO_SRID NULL NULL SDO_POINT NULL NULL SDO_ELEM_INFO (1, 1003, 1, 19, 2003, 1) (1, 1003, 3) SDO_ORDINATES (2,4, 2,11, 4,3, 2,4, 10,3, 7,5, 13,15, 7,10, 10,10, 13,9, 11,13, 10,5, 7,5) 5,13, (1, 1, 5, 7) En ce concerne rectang, l'attribut GTYPE dimsions. L'attribut indi qu'il s'agit d' polygone à ux SDO_ELEM_INFO rectang déni ux points, ces rniers contit étant qu' stockés seul tripl SDO_ORDINATES. indi qu'il s'agit En ce d' concerne polygone, l'attribut GTYPE sions. L'attribut indi égamt s'agit d' polygone à ux dim- SDO_ELEM_INFO avec trou (1003 : anneau extérieur, contit 2003 : ux anneau tripls intérieur). indi Les coor qu'il s'agit décrivant d' polygone neauintérieurcommctàl'indice1 l'an- SDO_ORDINATES l'anneau extérieur commct à l'indice 19 ( première coordonnée alorscoordécrivant élémts d'indices 19 20). Enn, l'attribut étant donc constituée s SDO_ORDINATES La gure 4.3 illustre ces ux scriptions[17]. contit toutes ces coor.

74 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 66 Fig.4.3SDO_GEOMETRY:exemppolygonontrivial(a)rectang(b). courant Anotercasgure4.3a,coorl'anneauextérieursontlistées rieur sont courues polygone ss ss horlogi. anti-horlogi Cha alors anneau étant coor fermé, première l'anneau coordonnée inté- coïncira avec rnière l'anneau coorespondant. polygoneayanttroutrou A noter égamt qu'orac Spatial [17].Cecasgurepourraitêtrevisagé,exemp, ne perm pas représter, seul obj, pour basera représter sur ux polygones pays avec : e pour î représter l il pays, y a l'autre c. Dans pour ce représter cas, Orac l'î Spatial avec se c Obj spatial sous PostGIS : GEOMETRY tés La nécessaires cartouche à spatia gion PostgreSQL spatia. se nomme Ces PostGIS. fonctionnalités El fournit repost toutes esstielmt fonctionnali- ux API Op Source. La première, développée C++, se nomme sur Geomry Engine Op Source c.). Pour (GEOS)[10] ce, el se base fournit sur l'esstiel recommdations s fonctionnalités l'ogc. spatia(types La secon API, spatiaux, développée fonctions, C,somme PROJ.4[20]fournittoutupportnécessaireàprojectionspatia. librairie Au niveau (liblwgeom.dll s types fourni avec spatiaux GEOS). sous Dès lors, PostGIS, tout urs type dénitions donnée sous se trouvt PostGIS ne fera e récupérer spatiaux co sous adéquat PostGIS se bast librairie. sur Tout hiérarchie comme sous types Orac proposée Spatial, l'ogc types (voir gure Au somm 2.5). Cha cte élémt hiérarchie cte (csse hiérachie mère) se trouve prést sous csse forme Geomry. d'e csse La gure 4.4 librairie. cte hiérarchie type sous GEOS( donc sous PostGIS)[10]. illustre

75 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 67 Fig. 4.4 Hiérarchie s types géométris proposés sous PostGIS. ST_GeomColction, AchacecescssescorrespondtypesousPostGIS.Ilsontpournoms: ST_MultiLineString, ST_MultiPoint, ST_MultiPolygon, ST_LineString, ST_Geomry, ST_Point, ST_CircurString, ST_Polygon. gresql, A prést on peut passer nous avons revue vu représtation élémts d'hermes s types ont spatiaux nécessité sous e Orac migration. sous Post Fonctions PostGIS Toutcommepourtypesspatia,fonctionnalitésspatiad'OracSpatial diérces,notammtaiveauduamètrage.lesprincipafonctionsspatiautiliséessous se bast égamt sur recommdations l'ogc. Néanmoins, il existe ls Hermes sont: Orac sdo_geom.rete (geom1, ANYINTERACT, geom2, 0.005); PostgreSQL ST_Rete (geom1, geom2, FF*FF**** ); OU ST_Disjoint(geom1, geom2); sdo_geom.rete (geom1, TOUCH, geom2, 0.005); sdo_geom.distance(geom1, geom2, 0.005) ; sdo_geom.ngth(geom, 0.005); ST_Rete (geom1, geom2, FT******* ); OU ST_Touches(geom1 geom2); ST_Distance(geom1, geom2); /* LineString ou MultiLineString. */ ST_Lgth(geom) /* Polygon ou MultiPolygon.*/ OU ST_Perimer(geom) sdo_geom.validate_geomry (result, 0.001); ST_IsValid(result) ; ramètre Une s facultatif principa torance. ticurités Ce rnier préste amètre sous Orac précision Spatial perm présce dire d' à tir pa- Plus l ce amètre distance Orac pit, doit plus considérer Orac sera ux précis. points Si ce ne amètre sont qu' n' seul pas (gran spécié, proximité). vaur défaut sera utilisée(sdo_tolerance). Sous PostGIS, ce amètre n'existe c' pas. Par. consént, ux points seront considérés comme égaux imt s'ils ont mêmes coor- perm Aiveaufonction d'indir type rete,econdamètresousorac(lroisièmesouspostgresql) (ex : TOUCH, ANYINTERACT, CONTAINS, retion à OVERLAPS, vérier. Orac c.). PostgreSQL propose semb propose égamt mots prédénis prédénis, mais ces rniers sont moins explicites urs évants sous Orac. Par s exemp, mots

76 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 68 pour ter si ux objs se toucht, il faudra mtionner cte retion FT*******, pour ter s'ils sont disjoints, il faudra indir FF*FF****, c. De plus amp informations au suj ce amètre pourront être obtues [19, 6] Types Puisqu'OracSpatialPostGISsebastsurrecommandationsl'OGC,iln'yaurapas Aiveautypesspatia,ils'agitceuxproposésl'OGC(gure2.5). cas types où sous type Hermes. sera prést sous Orac pas sous PostgreSQL. Voici principa traductions Orac PostgreSQL SDO_GEOMETRY( ST_MakeLine( 2002, NULL, NULL, ST_Point(x 1, y 1 ), sdo_em_info_array (1, 2, 1), ST_Point(x 2, y 2 ) MDSYS.sdo_ordinate_array (x 1, y 1, x 2, y 2 ) ); ) ; OU ST_LineString (x 1, y 1, x 2, y 2 ); SDO_GEOMETRY( ST_MakePoint(x 3, y 3 ); 2002, NULL, OU ST_Point(x 3, y 3 ); sdo_point_type (x 3, y 3, NULL), NULL, NULL ) ; SDO_GEOMETRY( ST_MakePolygon( 2005, NULL, NULL, /* Anneau extérieur */ (1, 1003, 1, 19, 2003, 1), ST_LineString(x 1, y 1 x 2, y 2 x 3, y 3 (x 1, y 1 x 2, y 2 x 3, y 3 x 4, y 4 x 5, y 5 x 6, y 6 x 4, y 4 x 5, y 5 x 6, y 6 x 7, y 7 x 8, y 8 x 9, y 9 ), x 7, y 7 x 8, y 8 x 9, y 9 x 10, y 10 x 11, y 11 /* Anneau intérieur */ x 12, y 12 x 13, y 13 x 14, y 14 ), ST_LineString(x 10, y 10 x 11, y 11 x 12, y 12 mpoint_ords x 13, y 13 x 14, y 14 ) ); ); sutcecasrajouterpointssupplémtaires.enceconcernepolygones,l'exemp Enceconcernelype LineString,ilpeutbiévimmtcontirplusuxpoints.Il ci-ssus gure 4.3). n'était Sous Hermes, pas prést champs tant tel sous Hermes (il s'agit fait l'exemp vu à SDO_ELEM_INFO SDO_ORDINATES variab. Il a donc fallu décortir variab représtant champ était sous forme SDO_ELEM_INFO an plusieurs récupérer anneaux informations intérieurs, sur second ou amètre diérts anneaux. A noter qu' cas présce ST_MakePolygon LineString. tabau d'objs logiciel Bi (libre ou ngage payant) PL/SQL permtrait soit assez d'automatiser proche du PL/PgSQL, ce processus il n'existe traduction. pas à ce En jour e, mémoire, tel processus cha s'eectue fonction a manuelmt été traitée individuelmt doit être réalisé avant avec d'être minutie. tée. Dans Bi évimmt cadre ce ( chaînes heureusemt), pls_integer certains integer). élémts Mais pourront ce doit être être traduits réalisé avec lot (ex plus : rempcer grand soin. toutes Dans cas d'hermes, majeure tie ce processus traduction a concerné fonctionnalités temporel(script niveau du script( TAU_TLL.sql). quasi totalité), Ces mais rnières égamt ont au nécessité niveau non du co seumt librairie s modications associée car, au comme diérte nous tre l'avons PL/SQL vu précémmt(section PL/PgSQL. En ce ), concerne l'interaction ux avec autres ngage scripts, hôte processus assez traduction a esstielmt concerné l'utilisation s fonctionnalités spatia, types

77 CHAPITRE 4. MIGRATION D'HERMES D'ORACLE VERS POSTGRESQL 69 utilisateur notion d'obj. ssusnesontrirepréstatifstouscasgurepossibcasmigrationd'e Avant refermer ce chapitre, il convit, à nouveau, rapper élémts repris ci- application composantesd'hermes(sousorac)ontnécessitéemigration.deplusampinformations d'orac vers PostgreSQL. Ces élémts permtt juste résumer principa pourrontêtrrouvéesausujd'oracpostgresql[6,8,17,19].

78 Chapitre 5 Cas d'étu évaluation s performances d'hermes cas Dans prati. ce chapitre, Pour nous ce, allons nous nous nous intéresser baserons à sur l'utilisabilité [4] propose s fonctionnalités e étu cas d'hermes traitant tracroutiervilberlin.cteétupréstéesousformed'jeuassocié du à ces requêtes semb obtues requêtes sous permtant système d'analyser du nom ce SECONDO trac. [4] fournit [23] égamt nous présterons résultats plus tard. comantàcelobtuessoussystèmeorantsfonctionnalitéssimiires(secondo). Ce nous permtra d'évaluer performances oertes Hermes, sous PostgreSQL, approche Ainsi, a été choisie premier an temps, qu'el nous soit présterons plus réaliste cte possib. étu Dans cas, second nous verrons temps, l décrirons processus génération du jeu nous verrons commt nous l'avons nous utilisé trac routier, sous PostgreSQL. n, nous Ensuite, exposerons nous examinerons résultats obtus requêtes comant permtront à ceux d'analyser obtus sous SECONDO. 5.1 Introduction Puisctetiedumémoiresebaseragrantiesur[4],ilconvitcommcerce chapitresapréstation.apujuin2008,[4]préstperformances(bchmark l'indi, angis) d'évaluer pour SGBD performances spatio-temporels. d' système Un t informati. performances Un tel perm, outil fournit comme généramt son nom SGBD, c semb semb problèmes accompagné formulé plusieurs l'intermédiaire problèmes à expérimter. requêtes SQL, Dans ou pseudo cas s SQL première lorsqu'il s'agit l'association requêtes d' compxes. jeu Ce type à semb t uti requêtes pour plusieurs perm raisons. faciliter La évaluations qu'il perm expérimta. mtre évince Ces rnières certaines pourront forces ainsi faibses facimt d' être système réitérées. La tant secon diértes composantes, s'assurant ces rnières fonctionnemt correctemt. Dans ses cas d' SGBD, il s'agira exemp s structures d'inxation, s structures s types, évince permtra l'implémtation d'oriter s certaines opérateurs, recherches c. En ce domaine. concerne Au niveau faibses, s points cte forts, mise pourront être réutilisés d'autres systèmes but d'accroître urs performances. Enn, ils e d'autres autre systèmes raison orant l'utilité s fonctionnalités ce type t évantes. qu'il facilite C' granmt ce nous allons comaison expérimter avec nchapitre 70

79 CHAPITRE 5. CAS D'ÉTUDE ET ÉVALUATION DES PERFORMANCES D'HERMES 71 non Nousl'avonsvuprécémmt,SGBDpeutstockerdiverstypes.Ilpeutstocker dards(spatia,spatio-temporel,c.).c'l'introductioncesrnièresamisévince seumt s standards (texte, tier, c.), mais égamt s non stan- nécessitéd'améliorersgbd.act,nousavonsvu(chapitre2)nombreuxtravaux ontttéd'apporterssolutionsausujproblématiposéemaniputionl'accès auxnonstandards.enceconcernockagegionnonstandards, nous pasi.ene,tockagegionnonstandardssontuxsprincipaux avons vu(chapitre 3) philosophie adoptée Hermes. Néanmoins, cte philosophie n' chalnges spatia (section domaine 3.3.1) spatio-temporel. mtant Nous évince l'avons égamt fait qu'orac vu au se niveau basait du sur stockage notion e tab autre nichée approche? (voir Pourquoi gure 3.6). ne Mais pas simpmt qu' -il, tout au stocker niveau s performances, e même tab si l'on utilisant utilisait élémts attribut réponses type tabau à ces interrogations. longueur variab? Nous verrons, Un t suite, performances qu'au niveau pourra d'hermes, donner s performances peuvt être ssibmt diértes selon représtation adoptée SGBD. d' Ainsi, système, t c'-à-dire performances système ( doit cas s être SGBD) capab perm supporter rseigner rge sur évtail maturité requêtes[4]. 5.2 Etu cas : trac routier vil Berlin Introduction De ce soit nombreux au niveau ts s performances spatia au suj ou au s niveau SGBD s ont été proposés spatio-temporel. ces rnières Une années, non-exhaustive reprise [4]. La plut ces ts propost jeu sur l liste certainnombreproblèmesdéni.anl'expérimtationsoitplusréalistepossib, ces Une problèmes gran majorité sont généramt ces scénarios dénis concerne sous forme l'observation d'e simution d' semb se basant d'élémts sur scénario. moto, vélo, transport public, personne, c.) se dépçant e vil, l'objectif étant d'analyser (voiture, l'ecice mt d'autres s dépcemts amètres inuçant termes ces vitesse dépcemts durée (ex : météo, traj. Certains heures introduist pointes, vitesse éga- maxima, pit échantillon), péages, d'autres c.). Certains s simutions considèrt macroscopis(échantillon s simutions microscopis gran (observation tail), ces d' nières permtant d'avoir e meilure idée s performances d' système lorsqu'il confronté r- à ux spatia ou spatio-temporel. important, ce La génération très souvt du jeu cas lors ts s'eectue système généramt doit gérer s l'intermédiaire amétrisation d' l'exécution générateur s'eectueront amètrab. Ce ligne rnier comman, peut être sous ou sous forme forme script(s), d'e interface dont graphi. Une liste non-exhaustive ces rniers repris [4] T performances pour bases spatio-temporel Préstation drait An d'avoir s'intéresse jeu à ts gion correspon l'histori à s philosophie positions adoptée s élémts Hermes, observés. il Le fau- proposé [4] satisfait cte exigce. Son objectif doub: t 1. Comer, opérateurs diérts spatio-temporels composantes d' SGBD structures spatio-temporel d'inxation; tel types 2. Comer performances diérts SGBD spatio-temporels.

80 CHAPITRE 5. CAS D'ÉTUDE ET ÉVALUATION DES PERFORMANCES D'HERMES 72 Il s'intéresse esstielmt aux types mpoint sur scénario suivant: l'observation, pdant e pério (point temps mobi). arbitraire(ex: A cte n, mois), il repose dépcemts d' échantillon véhicu(véhicu = point mobi) réseau routier s vilberlin,oùpositionscesvéhicusontcapturéesaumoinstoutesuxsecons. Ce travail scénario ( simu vice versa). comportemt Il prd égamt personnes considération se dépçant dépcemts urs domici additionnels vers urs lieux d'autres lieux, notammt durant temps loisirs. vers En générateur ce concerne associé au système génération SECONDO du jeu [23]. Ce rnier notre étu prototype cas, [4] se pteforme base sur (licce mtation GPL), l'expérimtation conçu épe modè chercheurs l'iversité non-standards Hag (spatial, 1, permtant spatio-temporel, l'implé- multimédia, fonctionnalités c.). qu'il Pour supporte cte sont raison, sous cte formes pteforme modu. Par extsib exemp, c'-à-dire support s structures toutes B types permis tabaux grâce au modu permis BTree, grâce au c. modu Par consént, Array, support il dispose d'e strucures quantité types modu arbre permtant support spatio-temporels(modu Polygon, MovingRegion, Temporal, Temporal SECONDO.Cejeuserasousformabpourront,suite,êtreexportéesdivers Unit, c.). Le générateur (script) permtra créer jeu sous SGBDsonchoix.Voyonsàpréstmodèadoptécejeu. formats(.shp 2,.csv).C'grâceàcesrniersqu'ilserapossibd'importer Modè Pour La modéliser gion d'objs ce type mobi d'obj,[4] sous se [4] base repose sur e sur représtation gion l'histori tranches urs nous positions. troduite section Bi [4] concerne principamt objs type avons mpoint, in- sous modè SECONDO utilisé perm subdivisé égamt sept catégories[4]: représter d'autre types. Le système types 1. BASE={int, real, string, bool} 2. SPATIAL ={point, points, line, region} 3. TEMPORAL = instant 4. RANGE ={rint, rreal, rbool, periods (rinstants)} 5. UNIT ={uint, ureal, ubool, upoint, uregion} 6. MOVING ={mint, mreal, mbool, mpoint, mregion} 7. INTIME ={iint, ireal, ibool, ipoint, iregion} Les temporel. trois premières A noter catégories regroupt type spatial respectivemt types standards, spatia points l'évant du type MultiPoint avons vu précémmt. La quatrième catégorie regroupe types permtant représter nous colction d'interval disjoints dénis sur types base ou sur type temporel. La cinème e catégorieregroupypesitésmobi catégorie regroupe types mobi. La rnière nécessairesàrepréstationtranches.lasixième ur tière, réel, booléne, type catégorie perm d'associer instant à e va- point ou type region. sous Ainsi, Hermes. mise Néanmoins, à t types types regroupés quatrième catégorie, tous autres sont présts RANGE ces types, SECONDO propose peuvt égamt être mis rge pce évtail sans d'opérateurs trop diculté. permtant A coté 1http:// 2Standard permtant stockage s géométries d' obj spatial (shape angis).

81 CHAPITRE 5. CAS D'ÉTUDE ET ÉVALUATION DES PERFORMANCES D'HERMES 73 développer s requêtes compxes. De plus amp informations au suj ces opérateurs pourront être obtues [4, 23] Scénario Préstation seau Le routier scénario sera visagé représté se base sur graphe trac orité. routier Cha vil n ud du Berlin. graphe Concrètemt, correspondra ce soit ré- l'intersection ux voies, soit à n d'e voie sans issue(impasse). Tout n ud sera caractérisébelobjspatial à voie compris tre ux n uds. Tout point.chaarcdugraphecorrespondraàsegmt maxima autorisée sur ce segmt, réel, arc indiquant sera caractérisé durée nécessaire tier, pour indiquant courir vitesse dépçant à vitesse maxima autorisée, e chaîne caractères, indiquant nom rue, se obj spatial type ligne. L'semb s n uds suite titionner diértes régions. La gure 5.1 illustre ce titionnemt[4]. Fig. 5.1 Partitionnemt du réseau routier Berlin. N ud domici, n ud travail n ud voisinage An travail ( simur vice versa), dépcemts( ainsi s véhicu) dépcemts personnes additionnels, urs cha domici personne vers sera urs associée lieux àtroistypesn uds[4]: 1. Le n ud domici correspond au lieu résince; 2. Le n ud travail correspond au lieu travail; 3. Les n uds voisinages lomètres du n ud domici. corresponnt Ces n uds à seront tous utilisés n uds plus se situant frémt à moins trois cas ki- dépcemts additionnels(ex: supermarché, poste, ban, c.)

82 CHAPITRE 5. CAS D'ÉTUDE ET ÉVALUATION DES PERFORMANCES D'HERMES 74 L'attribution uxfaçons[4]: d' n ud domici d' n ud travail à individu peut être eectuée 1. Soit utilisant e distribution iforme sur l'semb s n uds (nwork-based approach); 2. Soit région, utilisant, second premier temps, temps, utilisant e fonction e distribution probabilité iforme sur séctionnera n uds e région séctionnée (region-based fonction du nombre d'habitants du approach). nombre Cha personnes région ayant associée emploi à poids, région, d'être détermine séctionnée. sa priorité. La gure Plus 5.1 e illustre région ces aura priorités(priorité e priorité évée, 1 > priorité plus el 13). sera susceptib La s gure n uds 5.2 travail illustre se réseau basant routier sur secon Berlin métho(region-based)[4]. l sont rétis s n uds domici Fig. 5.2 Exemp distribution s n uds domici (a) s n uds travail (b). Itinéraire Intéressons-nous chemin à travers à prést réseau à routier. notion Cepdant, d'itinéraire e sous personne [4]. Cte notion susceptib sera représtée réaliser plusieurs e, cha dépcemts dépcemt au cours nécessite d'e même e certaine journée, durée ce pour compxie être réalisé. gion Ce impli ces rniers. e notion En heuredébut personne observée, s heur.parconsént,aiveaudujeu,pourcha vauchemts temporels itinéraires (dépcemt seront prédéni prédénis. vant Cepdant, être réalisé il faudra alors veilr à précént éviter n' che- toujours surlilssebast: pas ni). An faciliter cte tâche, auteurs [4] ont spécié certaines hypothèses Une Une personne personne travail tte son du domici ldi au à vdredi 8h + T inclut; lyrejusqu'à16h+t 1 2,rournesuiteverssondomici(-2 pour se rdre vers son lieu T travail 1,T 2 2); Une semaine,tre9h14h,19h00h00week-d; personne susceptib débuter dépcemt additionnel tre 20h 00h00 Une rios personne temps citées susceptib ci-suus; faire plusieurs dépcemts additionnels e s pé- La périos probabilité temps qu'e citées personne ci-ssus fasse au 0.4; moins dépcemt additionnel e s

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

Les Géodatabases en 9.2

Les Géodatabases en 9.2 Les Géodatabases en 9.2 Session Technique Géodatabase 9.2 Versailles SIG 2007 Nouveautés dans les Géodatabases Géodatabase adaptée À la taille de l entreprise À l architecture déployée Aux processus de

Plus en détail

GUIDE À L INTENTION DES ÉLÈVES

GUIDE À L INTENTION DES ÉLÈVES GUIDE À L INTENTION DES ÉLÈVES Octobre 2014 QU'EST-CE QUE L'ALTERNANCE TRAVAIL-ÉTUDES?* LES AVANTAGES DE L'ALTERNANCE TRAVAIL-ÉTUDES L alternance travail-études (A.T.E.) est une formule qui permet, pdant

Plus en détail

La place de la Géomatique Décisionnelle dans le processus de décision

La place de la Géomatique Décisionnelle dans le processus de décision Géomatique décisionnelle La place de la Géomatique Décisionnelle dans le processus de décision - Arnaud Van De Casteele Mines ParisTech - CRC Arnaud {dot} van_de_casteele {at} mines-paristech.fr Les rencontres

Plus en détail

PostGIS, un module de PostgreSQL pour les données spatiales

PostGIS, un module de PostgreSQL pour les données spatiales PostGIS, un module de PostgreSQL pour les données spatiales Olivier Courtin Vincent Picavet Licence GNU FDL PGDay.eu 2009 OSLANDIA SARL / 5. novembre 2009 / www.oslandia.com / infos@oslandia.com Qui sommes

Plus en détail

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Initiation aux bases de données (SGBD) Walter RUDAMETKIN Initiation aux bases de données (SGBD) Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Moi Je suis étranger J'ai un accent Je me trompe beaucoup en français (et en info, et en math, et...)

Plus en détail

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f PGDay Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f Réplication Réplications, disponibilités, durabilités Evolution dans la base de données : Postgres 8.2 : warm standby Postgres 9.0 : hot

Plus en détail

Bases de données avancées Introduction

Bases de données avancées Introduction Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)

Plus en détail

Simplification de la présentation

Simplification de la présentation Composants base Mu ongls Libellés messages Paramètres système Sécurité Céduleur Domaine valeurs Ai ligne Journalisation Surveilnce direct Gion cache Simplification préstation Sécurité Gion complète s mus,

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

PostgreSQL. Formations. SQL avancé... 10. Calendrier... 18

PostgreSQL. Formations. SQL avancé... 10. Calendrier... 18 Formations PostgreSQL Catalogue 2015 PostgreSQL Administration... 4 PostgreSQL Avancé... 5 PostgreSQL Hot Standby... 6 PostgreSQL Performance... 7 PostgreSQL Sauvegardes... 8 SQL : Conception & Mise en

Plus en détail

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS Bases de Données Stella MARC-ZWECKER Maître de conférences Dpt. Informatique - UdS stella@unistra.u-strasbg.fr 1 Plan du cours 1. Introduction aux BD et aux SGBD Objectifs, fonctionnalités et évolutions

Plus en détail

ArcGIS. for Server. Sénégal. Comprendre notre monde

ArcGIS. for Server. Sénégal. Comprendre notre monde ArcGIS for Server Sénégal Comprendre notre monde ArcGIS for Server Créer, distribuer et gérer des services SIG Vous pouvez utiliser ArcGIS for Server pour créer des services à partir de vos données cartographiques

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

Qu est-ce que ArcGIS?

Qu est-ce que ArcGIS? 2 Qu est-ce que ArcGIS? LE SIG ÉVOLUE Depuis de nombreuses années, la technologie SIG améliore la communication, la collaboration et la prise de décision, la gestion des ressources et des infrastructures,

Plus en détail

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils

Plus en détail

LE PRESTIGE DU NOM LA FORCE DE L ENSEIGNE!

LE PRESTIGE DU NOM LA FORCE DE L ENSEIGNE! LE PRESTIGE DU NOM LA FORCE DE L ENSEIGNE! Un supplémt au journal Meuse jeudi 2 octobre 2014 LE MEILLEUR SERVICE, LE MEILLEUR CHOIX LE LE MEILLEUR MEILLEUR SERVICE, SERVICE, LE LE MEILLEUR MEILLEUR CHOIX

Plus en détail

Les bases de données Page 1 / 8

Les bases de données Page 1 / 8 Les bases de données Page 1 / 8 Sommaire 1 Définitions... 1 2 Historique... 2 2.1 L'organisation en fichier... 2 2.2 L'apparition des SGBD... 2 2.3 Les SGBD relationnels... 3 2.4 Les bases de données objet...

Plus en détail

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique

Plus en détail

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

CONCEPTION Support de cours n 3 DE BASES DE DONNEES CONCEPTION Support de cours n 3 DE BASES DE DONNEES Auteur: Raymonde RICHARD PRCE UBO PARTIE III. - LA DESCRIPTION LOGIQUE ET PHYSIQUE DES DONNEES... 2 A. Les concepts du modèle relationnel de données...

Plus en détail

ORACLE TUNING PACK 11G

ORACLE TUNING PACK 11G ORACLE TUNING PACK 11G PRINCIPALES CARACTÉRISTIQUES : Conseiller d'optimisation SQL (SQL Tuning Advisor) Mode automatique du conseiller d'optimisation SQL Profils SQL Conseiller d'accès SQL (SQL Access

Plus en détail

Notice d information option Sécurité (3, 6 ou 9 ) pour les offres avec abonnement

Notice d information option Sécurité (3, 6 ou 9 ) pour les offres avec abonnement Notice d information option (3, 6 9 ) pr les offres avec abonnemt Extraits s conditions générales du contrat d assurance à adhésions facultatives n 2.200.800 sscrit par Orange,- ORIAS n 08 038 931-, par

Plus en détail

Réflexion sur la mise en place d'un système mobile d'aide à la navigation destiné aux services d'urgence basée sur une solution libre.

Réflexion sur la mise en place d'un système mobile d'aide à la navigation destiné aux services d'urgence basée sur une solution libre. Réflexion sur la mise en place d'un système mobile d'aide à la navigation destiné aux services d'urgence basée sur une solution libre. Denis Fouquet * Jean-Michel Follin ** Laboratoire de Géodésie et de

Plus en détail

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre Bases de Données Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre Synthèse : conception de BD langage de modélisation famille de SGBD SGBD Analyse du

Plus en détail

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES BASES DE DONNÉES CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98 J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES III. LES SYSTÈMES RÉSEAU IV. LES SYSTÈMES RELATIONNELS V. LE LANGAGE

Plus en détail

Utilisation du SIG dans une entreprise industrielle pour l analyse et la prise de décision

Utilisation du SIG dans une entreprise industrielle pour l analyse et la prise de décision 309 Schedae, 2007 Prépublication n 47 Fascicule n 2 Utilisation du SIG dans une entreprise industrielle pour l analyse et la prise de décision Mohamed Najeh Lakhoua UR : Système, Énergétique, Productique

Plus en détail

Un SIG collaboratif pour la recherche historique Partie. Partie 1 : Naissance et conception d un système d information géo-historique collaboratif.

Un SIG collaboratif pour la recherche historique Partie. Partie 1 : Naissance et conception d un système d information géo-historique collaboratif. Un SIG collaboratif pour la recherche historique Partie 1 : Naissance et conception d un système d information géo-historique collaboratif Claire-Charlotte Butez, Francesco Beretta To cite this version:

Plus en détail

Bases de Données Relationnelles. Le Modèle Relationnel

Bases de Données Relationnelles. Le Modèle Relationnel Bases de Données Relationnelles Le Modèle Relationnel Le modèle relationnel modèle de niveau logique modèle simple : deux concepts relation (table) attribut (colonne) défini par Ted Codd en 1970 ; prix

Plus en détail

ArcGIS. for Server. Comprendre notre monde

ArcGIS. for Server. Comprendre notre monde ArcGIS for Server Comprendre notre monde ArcGIS for Server Créer, distribuer et gérer des services SIG Vous pouvez utiliser ArcGIS for Server pour créer des services à partir de vos données cartographiques

Plus en détail

Fiche méthodologique Rédiger un cahier des charges

Fiche méthodologique Rédiger un cahier des charges Fiche méthodologique Rédiger un cahier des charges Plan de la fiche : 1 : Présentation de la fiche 2 : Introduction : les grands principes 3 : Contenu, 1 : positionnement et objectifs du projet 4 : Contenu,

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Ebauche Rapport finale

Ebauche Rapport finale Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide

Plus en détail

Télécom Nancy Année 2013-2014

Télécom Nancy Année 2013-2014 Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Une proposition d extension de GML pour un modèle générique d intégration de données spatio-temporelles hétérogènes

Une proposition d extension de GML pour un modèle générique d intégration de données spatio-temporelles hétérogènes 303 Schedae, 2007 Prépublication n 46 Fascicule n 2 Une proposition d extension de GML pour un modèle générique d intégration de données spatio-temporelles hétérogènes Samya Sagar, Mohamed Ben Ahmed Laboratoire

Plus en détail

Bases de données relationnelles : Introduction

Bases de données relationnelles : Introduction Bases de données relationnelles : Introduction historique et principes V. Benzaken Département d informatique LRI UMR 8623 CNRS Université Paris Sud veronique.benzaken@u-psud.fr https://www.lri.fr/ benzaken/

Plus en détail

Ecole Polytechnique de Louvain INGI 1271 - Fichiers et bases de données

Ecole Polytechnique de Louvain INGI 1271 - Fichiers et bases de données Ecole Polytechnique de Louvain INGI 1271 - Fichiers et bases de données Rapport de projet " Gestion d'un aéroport " Groupe 13 DE GROOTE Charles LAMOULINE Laurent NUTTIN Vincent Q6-2009 TABLE DES MATIÈRES

Plus en détail

Conditions Générales. 24 h/24 et 7 jours/7 NOV AUT CGE 01 0606 (09.07) 1 rue Geneviève de Gaulle Anthonioz CS 70826 35208 Rennes Cedex 2

Conditions Générales. 24 h/24 et 7 jours/7 NOV AUT CGE 01 0606 (09.07) 1 rue Geneviève de Gaulle Anthonioz CS 70826 35208 Rennes Cedex 2 Conception graphi NOV AUT CGE 01 0606 (09.07) Conditions Généra Pr ttes trver vos stions une réponse Contactez ses coordonnées votre assureur figurt conseil sur vos Conditions Particulières 24 h/24 7 jrs/7

Plus en détail

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Le tout fichier Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique Introduction à l informatique : Information automatisée Le premier ordinateur Définition disque dure, mémoire, carte mémoire, carte mère etc Architecture d un ordinateur Les constructeurs leader du marché

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

Mémo d'utilisation de BD Dico1.6

Mémo d'utilisation de BD Dico1.6 Mémo d'utilisation de BD Dico1.6 L'application BDDico a été développée par la Section Cadastre et Géomatique de la RCJU. Son utilisation demeure réservée aux personnes autorisées. Les demandes d'utilisation

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

ERP5. Gestion des Services Techniques des Collectivités Locales

ERP5. Gestion des Services Techniques des Collectivités Locales Gestion des Services Techniques des Collectivités Locales Cte 1 2 P 3 s tio T 4 m ilg h trc c n p.o 5 re u fe ro a le tio c M S tw u aa c e O 2 Relation Citoyen Interventions Patrimoine Core Ressources

Plus en détail

Conduite et Gestion de Projet - Cahier des charges

Conduite et Gestion de Projet - Cahier des charges Conduite et Gestion de Projet - Cahier des charges 1 Introduction Sophie Toulouse LIPN - Université Paris 13 +33.1.49.40.40.73 99 av. Jean-Baptiste Clément toulouse@lipn.univ-paris13.fr 93430 Villetaneuse

Plus en détail

Utiliser Access ou Excel pour gérer vos données

Utiliser Access ou Excel pour gérer vos données Page 1 of 5 Microsoft Office Access Utiliser Access ou Excel pour gérer vos données S'applique à : Microsoft Office Access 2007 Masquer tout Les programmes de feuilles de calcul automatisées, tels que

Plus en détail

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales Ecole des Hautes Etudes Commerciales HEC Alger Évolution des SGBDs par Amina GACEM Module Informatique 1ière Année Master Sciences Commerciales Evolution des SGBDs Pour toute remarque, question, commentaire

Plus en détail

Année Universitaire 2009/2010 Session 2 de Printemps

Année Universitaire 2009/2010 Session 2 de Printemps Année Universitaire 2009/2010 Session 2 de Printemps DISVE Licence PARCOURS : CSB4 & CSB6 UE : INF 159, Bases de données Épreuve : INF 159 EX Date : Mardi 22 juin 2010 Heure : 8 heures 30 Durée : 1 heure

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

Glossaire. base de données géographiques Voir géodatabase (GDB).

Glossaire. base de données géographiques Voir géodatabase (GDB). Glossaire analyse Processus d identification d une question ou d un problème à résoudre, de modélisation de ce problème, de recherche des résultats de modélisation, d interprétation des résultats, d élaboration

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES BASE DE DONNEES La plupart des entreprises possèdent des bases de données informatiques contenant des informations essentielles à leur fonctionnement. Ces informations concernent ses clients, ses produits,

Plus en détail

Esri Maps for IBM Cognos

Esri Maps for IBM Cognos Esri Maps for IBM Cognos Livre blanc Esri Septembre 2012 21 rue des Capucins - 92195 Meudon Cedex Tél : 01 46 23 60 60 - Fax : 01 45 07 05 60 info@esrifrance.fr - www.esrifrance.fr Copyright 2012 Esri

Plus en détail

CHAPITRE 1. Introduction aux bases de données

CHAPITRE 1. Introduction aux bases de données CHAPITRE 1 Contenu du chapitre 1 Pourquoi utiliser une bases de? Définitions et objectifs d'un SGBD Niveaux d'abstraction des Méthodes de modélisation d une BD Modèles de structuration des Structure globale

Plus en détail

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE Le responsable de la société Itaste utilise une application installée sur son poste : elle est programmée en VBA sous Microsoft Access et pourvue d une

Plus en détail

A. Définition et formalisme

A. Définition et formalisme Les cardinalités et les différents types d'associations I. Les cardinalités A. Définition et formalisme Les cardinalités sont des couples de valeur que l'on trouve entre chaque entité et ses associations

Plus en détail

Enterprise Intégration

Enterprise Intégration Enterprise Intégration Intégration des données L'intégration de données des grandes entreprises, nationales ou multinationales est un vrai cassetête à gérer. L'approche et l'architecture de HVR est très

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

La Geo-Business Intelligence selon GALIGEO avec 26/10/2005 1

La Geo-Business Intelligence selon GALIGEO avec 26/10/2005 1 La Geo-Business Intelligence selon GALIGEO avec ESRI 2005 session «Décisionnel» 26/10/2005 1 La Business Intelligence : Une Définition La Business intelligence permet l utilisation des données opérationnelles

Plus en détail

SafeNet La protection

SafeNet La protection SafeNet La protection des données La conception à l'action, SafeNet protège intelligemment les informations pendant tout leur cycle de vie Les informations peuvent faire progresser votre activité, mais

Plus en détail

LA QUALITE DU LOGICIEL

LA QUALITE DU LOGICIEL LA QUALITE DU LOGICIEL I INTRODUCTION L'information est aujourd'hui une ressource stratégique pour la plupart des entreprises, dans lesquelles de très nombreuses activités reposent sur l'exploitation d'applications

Plus en détail

Dans cette définition, il y a trois notions clés: documents, requête, pertinence.

Dans cette définition, il y a trois notions clés: documents, requête, pertinence. Introduction à la RI 1. Définition Un système de recherche d'information (RI) est un système qui permet de retrouver les documents pertinents à une requête d'utilisateur, à partir d'une base de documents

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Bases de données Cours 1 : Généralités sur les bases de données

Bases de données Cours 1 : Généralités sur les bases de données Cours 1 : Généralités sur les bases de données POLYTECH Université d Aix-Marseille odile.papini@univ-amu.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 1 Qu est ce qu une

Plus en détail

INTRODUCTION AUX BASES de DONNEES

INTRODUCTION AUX BASES de DONNEES INTRODUCTION AUX BASES de DONNEES Équipe Bases de Données LRI-Université Paris XI, Orsay Université Paris Sud Année 2003 2004 1 SGBD : Fonctionnalités et Principes Qu est qu une base de données? Un Système

Plus en détail

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

PostgreSQL. Formations. Calendrier... 14

PostgreSQL. Formations. Calendrier... 14 Formations PostgreSQL Catalogue 2013 PostgreSQL Administration... 4 PostgreSQL Avancé... 5 PostgreSQL Hot Standby... 6 PostgreSQL Performance... 7 Développer avec PostgreSQL... 8 Migrer d'oracle à PostgreSQL...

Plus en détail

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack A propos de ce guide A propos de ce guide Ce guide contient des informations de prise en main du BusinessObjects XI R2 Service Pack

Plus en détail

TP3 : Creation de tables 1 seance

TP3 : Creation de tables 1 seance Universite de Versailles IUT de Velizy - Algorithmique 2005/2006 TP3 : Creation de tables 1 seance Objectif : Creation et modication de tables dans une base de donnees. Avant de commencer ce TP, terminer

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre La problématique de la Préservation des Bases de Données Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre Définition des bases de données Terme du langage courant base de données Utilisé pour désigner

Plus en détail

Évolution de schémas dans les entrepôts de données mise à jour de hiérarchies de dimension pour la personnalisation des analyses

Évolution de schémas dans les entrepôts de données mise à jour de hiérarchies de dimension pour la personnalisation des analyses Évolution de schémas dans les entrepôts de données mise à jour de hiérarchies de dimension pour la personnalisation des analyses Thèse présentée par Cécile FAVRE pour obtenir le titre de Docteur en Informatique

Plus en détail

Deuxième partie. Approche globale d'implémentation d'un projet PLM

Deuxième partie. Approche globale d'implémentation d'un projet PLM Deuxième partie Approche globale d'implémentation d'un projet PLM 71 Introduction L'enjeu économique autour de la réduction et de l'optimisation du développement des produits est important pour les entreprises

Plus en détail

Introduction aux bases de données

Introduction aux bases de données Introduction aux bases de données Références bibliographiques Jeff Ullman,Jennifer Widom, «A First Course in Database systems», Prentice-Hall, 3rd Edition, 2008 Hector Garcia-Molina, Jeff Ullman, Jennifer

Plus en détail

Guide d'achat sur l'intégration du Big Data

Guide d'achat sur l'intégration du Big Data SEPTEMBRE 2013 Guide d'achat sur l'intégration du Big Data Commandité par Sommaire Introduction 1 Les enjeux de l'intégration du Big Data : hier et aujourd'hui 1 Fonctionnalités nécessaires à l'intégration

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

1. Introduction...2. 2. Création d'une requête...2

1. Introduction...2. 2. Création d'une requête...2 1. Introduction...2 2. Création d'une requête...2 3. Définition des critères de sélection...5 3.1 Opérateurs...5 3.2 Les Fonctions...6 3.3 Plusieurs critères portant sur des champs différents...7 3.4 Requête

Plus en détail

Conception des bases de données : Modèle Entité-Association

Conception des bases de données : Modèle Entité-Association Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir

Plus en détail

Comprendre ITIL 2011

Comprendre ITIL 2011 Editions ENI Comprendre ITIL 2011 Normes et meilleures pratiques pour évoluer vers ISO 20000 Collection DataPro Extrait 54 Comprendre ITIL 2011 Normes et meilleures pratiques pour évoluer vers ISO 20000

Plus en détail

COMPOSANT JOOMA_TIPI Une extension Joomla pour le paiement en ligne des factures de services publics locaux. Page n 1/24

COMPOSANT JOOMA_TIPI Une extension Joomla pour le paiement en ligne des factures de services publics locaux. Page n 1/24 COMPOSANT JOOMA_TIPI Une extension Joom factures de services publics locaux à Joom_Tipi Page n 1/24 30/03/2010 Page n 1/7 A PROPOS DE TIPI Qu'est-ce-que TIPI? TIPI est un service proposé par DGFIP (Direction

Plus en détail

En synthèse. HVR pour garantir les échanges sensibles de l'entreprise

En synthèse. HVR pour garantir les échanges sensibles de l'entreprise En synthèse HVR pour garantir les échanges sensibles de l'entreprise Le logiciel HVR fournit des solutions pour résoudre les problèmes clés de l'entreprise dans les domaines suivants : Haute Disponibilité

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Définition (G. Gardarin) Entrepôt : ensemble de données historisées variant

Plus en détail

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

Licences Windows Server 2012 R2 dans le cadre de la virtualisation Résumé des licences en volume Licences Windows Server 2012 R2 dans le cadre de la virtualisation Ce résumé s'applique à tous les programmes de licences en volume Microsoft. Sommaire Synthèse... 2 Nouveautés

Plus en détail

Windows serveur 2008 installer hyperv

Windows serveur 2008 installer hyperv Windows serveur 2008 installer hyperv 1 Description Voici la description fournit par le site Microsoft. «Windows Server 2008 Hyper-V est le moteur de virtualisation (hyperviseur) fourni dans Windows Server

Plus en détail

Bases de données. Chapitre 1. Introduction

Bases de données. Chapitre 1. Introduction Références : Bases de données Pierre Wolper Email : pw@montefiore.ulg.ac.be URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,

Plus en détail

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Suite à mon précédent article concernant MSDE, je me suis rendu compte à partir des commentaires que de nombreux utilisateurs avaient des problèmes

Plus en détail

La conception d'une architecture et d'un urbanisme adaptés au milieu méditerranéen

La conception d'une architecture et d'un urbanisme adaptés au milieu méditerranéen La conception d'une architecture d'un urbanisme adaptés au milieu méditerranéen Milieu vie, mo vie Paris : CIHEAM Options Méditerranéennes; n. 13 1972 pages 94-102 Artic avaib on line / Artic disponib

Plus en détail

ANNEXE 1. Si vous souhaitez ajouter un descriptif plus détaillé de l offre à votre annonce, merci de le joindre accompagné de ce formulaire.

ANNEXE 1. Si vous souhaitez ajouter un descriptif plus détaillé de l offre à votre annonce, merci de le joindre accompagné de ce formulaire. ANNEXE 1 Entreprises, pour proposer un sujet de thèse soutenue par le dispositif CIFRE, merci de remplir les champs suivants, et d envoyer le document à : cifre@anrt.asso.fr Si vous souhaitez ajouter un

Plus en détail

IBM Cloudant Data Layer Local Edition

IBM Cloudant Data Layer Local Edition IBM Cloudant Data Layer Local Edition Évoluez et innovez plus rapidement sur toutes les plateformes cloud privées, publiques ou hybrides Points forts Cloudant constitue une couche de données extrêmement

Plus en détail

OpenERP, un progiciel de gestion intégré pour entreprise, distribué sous licence libre (GPL), qui répond de manière efficace à la complexité et aux

OpenERP, un progiciel de gestion intégré pour entreprise, distribué sous licence libre (GPL), qui répond de manière efficace à la complexité et aux OpenERP, un progiciel gestion intégré pour entreprise, distribué sous licence libre (GPL), qui répond manière efficace à la complexité aux besoins croissants s entreprises. Point clés Pourquoi choisir

Plus en détail

Spécifications de l'offre Surveillance d'infrastructure à distance

Spécifications de l'offre Surveillance d'infrastructure à distance Aperçu du service Spécifications de l'offre Surveillance d'infrastructure à distance Ce service comprend les services Dell de surveillance d'infrastructure à distance (RIM, le «service» ou les «services»)

Plus en détail

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10 PROGRAMME RÉGIONAL DE RENFORCEMENT DE LA COLLECTE DES DONNÉES STATISTIQUES DES PECHES DANS LES ÉTATS MEMBRES ET DE CREATION D UNE BASE DE DONNÉES REGIONALE Manuel de formation TABLE DES MATIERES INTRODUCTION

Plus en détail

LES LOGICIELS OPEN SOURCE DANS LA GEOMATIQUE

LES LOGICIELS OPEN SOURCE DANS LA GEOMATIQUE LES LOGICIELS OPEN SOURCE DANS LA GEOMATIQUE PREAMBULE La fiche n 77 élaborée en 2004 intitulée «Le logiciel «libre» et les systèmes d information géographique» constitue un pré requis à la lecture de

Plus en détail

Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE Contact : Mme Lapedra, stage@isoft.fr ISoft, éditeur de logiciels, est spécialisé dans l informatique décisionnelle et l analyse de données. Son expertise

Plus en détail

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1 CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste

Plus en détail