Recently I was asked in meeting of SQL SERVER user group, what my opinion about spatial database. I answered from my basic knowledge. Spatial database is like database of space (not the star wars or star trek kind space). SQL Server database can understand the numeric and string values. If we ask to SQL Server what is multiplication of 6 and 3 it will provide answer as 18. If we ask to SQL Server what is distance between two points in polygon, it will be not able to answer using native functions. Custom SQL code written by user can do similar coding. In short spatial database is about lines, points, polygons and their interesting features. SQL Server is not spatial database system.
After I came back from home I searched more about it and found some interesting research and documentation. I am posting here assuming it will be interesting to all of my readers.
Another example of spatial and non spatial query is here:
Non-spatial: List the names of all company with more than 100 employees.
Spatial: List the names of all company within 10 miles of Las Vegas.
Here is the definition from Wikipedia about spatial database :
A spatial database is a database that is optimized to store and query data related to objects in space, including points, lines and polygons. While typical databases can understand various numeric and character types of data, additional functionality needs to be added for databases to process spatial data types.
Very interesting paper written by An Introduction to Spatial Database Systems by Ralf Hartmut Güting.
Author defines Spatial Database as
(1) A spatial database system is a database system.
(2) It offers spatial data types (SDTs) in its data model and query language.
(3) It supports spatial data types in its implementation, providing at least spatial indexing and efficient algorithms for spatial join.
Tutorial in form of slide show can be found here.