Spatial types are data types that store geometry data. All the spatial information is stored in the spatial column; there are no side feature tables. Having the spatial information in one field makes it easier to access the spatial data outside of ArcGIS.
Spatial types have associated functions or methods that are used to access and manipulate the data using Structured Query Language (SQL). For most non-Esri spatial types, the types and functions are installed when you install a spatial component in the database management system (DBMS). For example, you install PostGIS geometry in PostgreSQL, Spatial Extender in IBM DB2, and Spatial DataBlade in IBM Informix. These applications enable the DBMS to store spatial data. Other non-Esri spatial types, such as Oracle's SDO_Geometry or the Microsoft SQL Server geometry and geography types, are automatically installed when you install the DBMS.
The ST_Geometry type in Oracle and PostgreSQL is installed when you create a geodatabase. It can also be installed separately in a database using the Create Spatial Type geoprocessing tool or a Python script.
With the types and functions in place, you can use SQL to create spatial tables; read and analyze the spatial data; and insert, update, and delete simple geometry data.
SQL syntax varies slightly from one database and spatial type implementation to another, but all the spatial types Esri supports are based on the International Organization for Standardization (ISO) SQL Multimedia (MM) spatial specification. This specification requires a certain set of functionality be available with the functions used with the spatial type. Most spatial types have implemented additional functionality beyond what is required by the ISO SQL MM spatial specification.