Database is one of the most popular and widely used concept in many applications. GIS also makes use of database for handling and efficiently managing the data through spatial database management system. GIS databases store spatial data for providing spatial information.
In this article, we will learn about following important concepts related to database and spatial database management system.
- Understanding the terms data, database, database structure and database management system
- Data Storage concepts – History and current practices, How data is stored in different systems
- Concept, Advantages of File based storage systems
- Importance of Database and database management system in GIS
- Database Management system Functions
- Types of data base management systems and models
- role of database in GIS
Key terminology for DBMS – Data, Database, Database, Database Model or Structure and Database management System:
Data is one of the most important components of GIS. It can be defined as collection of observations which can be related to an event, or object etc. In data collected observations are present in their raw form. They doesn’t convey any meaningful or usable information for a context in case.
For example, numbers such as 45, 54, 32 doesn’t convey any meaning or useful information when indicated alone. But same numbers convey useful information when used with a context. Such as, the numbers may be indicating the rainfall on a particular at 3 different cities.
A pool of similar type of observations and some more additional details forms a database. Database can be defined as a computer structure consisting of end user data and meta data. In other words, end user data and metadata together forms database. Data is organized in the database depending on the application, similarity etc., using various ways.
Database Model or Database Structure:
The functions and usefulness of a database often depends on how it is organized. Database structure defines how different elements of data or different data sets in the database or connected, shared among the users etc. There exist several types of database models such as hierarchical, relational, network based model etc. GIS database is most often designed using relational database management system or network database management system.
Database Management System:
A database management system houses all things pertaining to providing information to the user in an effective and efficient manner.
Database management system design decides what data is stored, how it is stored, shared and accessed among the users, security aspects etc.
The functionality of an information system can be improved or damaged by changing the design of database management system. Further, a DBMS also contains a query language for supporting queries.
Poor design of database leads to data redundancy and incorrect analysis, bad decisions. While designing the database it is important to follow principles of database design and also logical design system.
It makes data management more effective and efficient. Also it reduces the probability of inconsistency in data. DBMS manages the interaction between the data.
Data Storage Systems in GIS and Other Information Systems:
Earlier when database systems and computers are not advanced, data is stored using analog files i.e., using physical file system. After that, analog files are converted into digital files and are stored, managed using the computer systems. However, most of such conversions from analog to physical are made mainly for performing clerical tasks such as storing and organizing.
The storage system used in such scenario is file based storage system. This type of system has several disadvantages and drawbacks. These are overcome by database storage systems developed at later time.
Overall, one can classify storage systems into 2 types, i.e., 1. File Based Storage 2. Database based Storage
More details about above storage systems are described under following sections.
File Based Storage System:
In file based storage system data is stored in the form of digital files in a computer hard disk. These digital files are typically tables in most of the cases. The details or data is stored in rows and columns of a table.
A table stores details using fields and records. Field in a table is the name of attribute or property, and it is represented in the column head. Record is the detail or data which is stored under the columns for each and every object. Collection of several records forms a table.
Though it is very easy to work with tables, it has several drawbacks. It is not possible to control who access the data, how it is accessed and shared among the users etc.
Data lies isolated in its physical space. Some times same data is copied into several locations to perform a work or job. In such situations if data is updated at one location, at remaining places it may cause a problem if it is not updated there. This causes data redundancy.
Also, when working on a large project with large number of users, maintaining data consistency, sharing the data securely and overall managing becomes very difficult. All these drawbacks in file storage system are overcome in data base systems.
Following are advantages and disadvantages of file based storage system.
Advantages of File based Storage System:
File based storage is simple.
Can be used with very ease for completing simple tasks.
Disadvantages of File Based Storage System:
Since DBMS is not present in this case, ad hoc queries are not possible in file based system.
We keep information in different files while storing the data. Hardly there are any linkages in data. Data lies discretely in the organization. This creates difficulty in making connections between data sets while retrieving them. This is called island of information. The available information is not possible to retrieve due to island of information.
If file data characteristics are changed, all programs that access the data set may need modification. Also change in the file structure system, needs change in the program. File systems require many conventions to be followed such as field lengths, names etc.
When ever, insertion, deletion or modification of a file takes place, data anomaly may take please causing other issues like redundancy. Data redundancy and inconsistency are also some problems with files.
Database contains so many data sets that are logically connected in a single or multiple repositories. This logical connection helps in providing or restricting easy access to various sections of database or data. Through DBMS the necessary data is accessed upon a request or query.
Database system eliminates drawbacks present in file system such as anomalies, inconsistencies, redundancies etc. It stores the data structure, relationship and access paths for handling the data efficiently.
Types of Database Models:
Database systems can be classified into different types based on no of users, hardware, database structure.
Based on no of users databases are divided into single user and multi user databases. If we consider hardware, database can be of different types such as desktop, workgroup, enterprise etc.
Based on organizing data in hardware and location, it can be a centralized database or distributed database. In case of distributed database data is present at different places or countries and in database systems. All these different segments of data are connected using the distributed database system.
Distributed and multi user databases are widely popular these days as they have so many advantages.
Database model or structure is a collection of logical constructs which is used to organize the data and establishes the relationship between various parts of data (or different data sets in the database).
Conceptual models represent the logical nature and connectivity of the data representation. The relationships that are represented using the conceptual models include one to one, one to many and many to many.
One to one relationship explains one data is related only to one other data set. One to Many relationship means one data set is related to many other data sets etc.
These relationships are widely used in relational database models. More about this conceptual model or logical model is described in the article Entity – Relation model.
Implementation models focus on how data is represented using the structure.
Based on database structure type or database model used, databases are classified into mainly 3 types. 1. Hierarchical 2. Network and 3. Relational Database model.
Hierarchical Database Model:
In Hierarchical database model data is organized into several nodes diverging into an upside tree like structure. All data existing in the database will have a common root. Starting from the root, data is organized into several branches as we move down.
Hierarchical database model follows parent – child relationship or one to many relationship in the database. This means, a parent can have many child, but each child will have only one parent. This is main drawback of hierarchical model.
There exist no relationship between the elements present at same level in the database. To reach a particular data element one has to start from the top(root node) and move through connected nodes towards the required element. In case if new relationship is to be established, complete database might get altered in some situations.
For example, in a college many faculty, students are present. But students will be related to only one parent i.e., one college only. Hierarchical model can be clearly understood with the diagram shown below.
Network Database Model:
Network database model is improved model compared with hierarchical model. Here database structure can map many-many relationships between the data. Data elements in the database are connected using links. Each record can be derived from multiple other records and from each record multiple other records can be derived.
Relational Database Model:
This database model is widely used in spatial database design. Data is stored in digital files using tables. Different files are connected by making use of a common field present between them. The field value which is unique for all records in the file is called primary key. The primary key of a file present in the another table or file is called foreign key. Using primary key and foreign key data is connected in the database.