Oracle Database/Spatiotemporal Databases

Spatial dataEdit

When typing the fields, some represent graphical objects, and so are considered as "Spatial" (cf. spatial database). Consequently, they are manipulated with different requests than for the text.

With Oracle, its implemented since the version 7, in an extension of the Enterprise EditionDownload, provided objects with the prefix SDO for Spatial Data Option[1].


To store the spatial objects, we use the field type SDO_GEOMETRY, and the seven methods to manipulate it[2]:

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

Then the request operators[3]:

  1. SDO_FILTER: list the objects which interact with the target.
  2. SDO_JOIN: spatial join.
  3. SDO_NN: target nearest neighbor.
  4. SDO_NN_DISTANCE: distance with the nearest neighbor.
  5. SDO_RELATE: list the objects which interact in a certain manner.
  6. SDO_WITHIN_DISTANCE: returns true if two objects are within a certain distance from one to another.

Spatiotemporal dataEdit

We use a predicate to foresee the stored objects movement[4]. However, the spatiotemporal databases need frequent updates.


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].

Link with the GISEdit

To represent the data on maps, we use a geographic information system (GIS). For example:

If the software need an ODBC data source to access to the Oracle databases:

  1. Launch %windir%\system32\odbcad32.exe.
  2. Add a system source. The Oracle driver can be chosen in the list if the DBMS is installed.
  3. Fill the TNS service name with the name which can be found into C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora.
  4. Then write the password of the connection created with SQL*Plus.