\[ \newcommand\si[1]{\mathrm{#1}} \newcommand\SI[2]{#1\,\si{#2}} \newcommand\matr[1]{\mathbf{#1}} \DeclareMathOperator*{\argmax}{arg\,max} \DeclareMathOperator*{\argmin}{arg\,min} \]

GIS databases

Dr. Huidae Cho
Institute for Environmental and Spatial Analysis...University of North Georgia

1   Database

A database is a way to organize and manage data efficiently.

A huge amount of data is available.

For example, with one purchase,

  • Your bank’s database is updated
  • Store stock database is updated
  • Reorder from supplier’s database is sent

2   Data management problems

  • Redundancies (unnecessary duplication)
  • High maintenance costs
  • Data-sharing difficulties
  • Updating not standardized
  • Lack of security or standards

3   Computerized database

  • Different data access methods possible
  • Redundancy minimized
  • Data stored independently of applications
  • Access controlled
  • Easy to update
  • Query tools available

4   Database management system (DBMS)

A database management system (DBMS) controls storage, retrieval, and modification of data.

  • File handling and management
  • Adding, updating, and deleting records
  • The extraction of information from data
  • Maintenance of data security
  • Application building

A DBMS allows users to deal with data without having to understand the storage and structure of database.

5   Relational database management system (RDBMS)

Data contained in multiple tables are linked by common data known as “keys” (primary and foreign keys).

Queries are possible.


6   Relationships

One to one (1:1)

One to many (1:N)

Many to many (M:N)

7   Geodatabase

The type of databases we interact with in ArcGIS Pro is based on the relational model.

Personal Geodatabase (*.mdb): Not supported by ArcGIS Pro

File Geodatabase (*.gdb): Supported by ArcGIS Pro

  • Can store feature classes
  • Can store rasters


  • Enterprise-level geodatabase
  • Versioning
  • Real-time data sharing


8   Attribute domains

Attribute domains allows users to select an attribute value from a pre-defined list of possible values.

They do not allow users to type arbitrary values.

Diminish the likelihood of data entry errors

Law and Collins (2016)