Oracle Database/Bases de données spatiotemporelles

Données spatiales

modifier

Lors du typage des champs, certains représentent des objets graphiques, et sont donc considérés comme étant de catégorie "Spatial" (cf. base de données spatiales). Par conséquent, ils se manipulent par des requêtes différentes que pour le texte.

Sous Oracle, c'est implémenté depuis la version 7 dans une extension de la version Enterprise EditionTélécharger, fournissant des objets avec des préfixes SDO pour Spatial Data Option[1].

Pour stocker les objets spatiaux, on utilise le type de champs SDO_GEOMETRY.

Ainsi que sept méthodes pour le manipuler[2] :

  1. Get_Dims
  2. Get_GType
  3. Get_LRS_Dim
  4. Get_WKB
  5. Get_WKT
  6. ST_CoordDim
  7. ST_IsValid

Plus des opérateurs de requête[3] :

  1. SDO_FILTER : liste les objets interagissant avec la cible.
  2. SDO_JOIN : jointure spatiale.
  3. SDO_NN (pour nearest neighbor) : renvoie le voisin le plus proche de la cible.
  4. SDO_NN_DISTANCE : la distance avec le voisin le plus proche.
  5. SDO_RELATE : liste les objets interagissant d'une certaine façon.
  6. SDO_WITHIN_DISTANCE : dit si deux objets sont à moins d'une certaine distance l'un de l'autre.

Données spatiotemporelles

modifier

On utilise un prédicat pour prévoir le mouvement des objets stockés[4]. Toutefois les bases de données spatiotemporelles nécessitent malgré tout des mises à jour fréquentes.

Indexation

modifier

Les modes d'indexation choisis par Oracle pour les données spatiales sont l'arbre R[5], l'arbre Q, et le Z-order[6].

Liaison avec des SIG

modifier

Pour représenter les données en base sur des cartes, on utilise un système d'information géographique (SIG). Par exemple :

 
Configuration QGIS des liaisons avec les bases de données (dont Oracle).

Si le logiciel a besoin d'une source de données ODBC pour accéder aux bases Oracle :

  1. Lancer %windir%\system32\odbcad32.exe.
  2. Ajouter une source de données système. Le driver Oracle peut être choisi dans la liste si le SGBD est installé.
  3. Remplir le champ Nom du service TNS avec le nom situé dans le fichier C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora.
  4. Puis inscrire le mot de passe de la connexion crée dans SQL*Plus.

Exemples

modifier

Références

modifier