After spatial data management (the input, storage, manipulation and display of points, lines, areas, cells), attribute data handling is the other primary capability required of a GISystem. Without the ability to properly handle the related non-spatial information, the technology of GIS would never have taken off as it has. The purpose of the this lecture is to provide you with an overview of attribute data handling in a GIS environment.
Over the years several different approaches to handling attribute data have been used by GIS vendors, although at present the relational database approach is by far the dominant. There is very little else on the net which describes this subject from a GIS perspective.
In ArcView (a precursor to ArcMAP), the database format was derived from dBase, a widely used PC-based relational database management system software program, while in Arc/Info (a unix-based software package that was the precursor to ArcGIS ) the database format was derived from INFO. ArcGIS supports the use of both previous database program formats (i.e., the dBase .dbf format and the info format, which is evident when you create a raster dataset [note the info directory associated with raster files]), but ESRI is also promoting the use of its GeoDatabase (gdb) concept and, in particular, it is promoting the use of multiuser database connections, which means that almost any database supporting Object Linking and Embedding (OLE) can be used–be it an Oracle database, a Microsoft SQL Server, Jet (Microsoft Access) and Microsoft Excel. (Other databases can be accessed from ArcGIS if an OLE DB is available for that database.) SQL is available in ArcGIS through such tools as ‘ Select by attributes’ under Options (attribute table).
Leading DBMS Vendors
- Oracle
- Microsoft SQL Server
- MySQL (free)
- PostgreSQL (free)
- A good review of the rapidly changing DBMS market today: 2019 Database Trends
Learning Objectives
- Understand the role of database management systems in GIS;
- Recognize structured query language (SQL) statements;
- Understand the key geographic database data types and functions;
- Be familiar with the stages of geographic database design.
Required Readings
Overheads: Lecture 13: DBMS
Recommended Readings
Text: Chapter 5.2 of the GIS Basics text covers this topic.
Several NCGIA notes cover attribute data handing:
Database Management System (DBMS) Basic Concepts - A blog that's worth viewing about DBMS
Geographic Information Systems, First Edition, 1991 - Wiley (a textbook publisher) has made available selected chapters from the 1991 “Big Book” of GIS–chapter 18 (DBMS from a GIS perspective)
For those who would like to delve deeper into the world of DBMS–something I recommend to students interested in making GIS part of their career–I have found a set of overheads by R. Ramakrishnan and J. Gehrke that describe the subject fully (although not from a GIS perspective):
Chapter 1: Introduction to Database Systems
Chapter 2: The Entity Relationship Model
Chapter 3: The Relational Model
Slides for Database Management Systems
Database Management Systems (text information)
Useful Resources
Database Management Systems - is well worth reviewing (GIS perspective, although it was written before the object-relational type of database (ORDBMS) was conceived (commercial versions were first released in the mid-90’s) and subsequently implemented in, for example, ArcGIS’s GeoDatabase).
ESRI: Data Management – Get the Most Out of Your Data- a look at how attribute handling is changing and an insight into attribute handling in a corporate environment
Wikipedia: Object-Relational Database
Wikipedia: dBase
ESRI: Working with Geodatabase: Powerful Multiuser Editing and Sophisticated Data Integrity
Microsoft: OLE Concepts explained from a Word perspective
Google Definition Search: Application Programming Interface (API)
Special Interest Group on Management of Data
About Tech: Domain
Wikipedia: Database Abstraction Layer
Tutorials:
W3Schools: Introduction to SQL
SQL Course.com: What is SQL?
Keywords
database, DBMS, relational, concurrency, integrity (domains), security, keys (primary and foreign), SQL ERM, data abstraction layer