The word database is a fusion of two words—data and base. Data is raw, unorganized, and unprocessed facts about living or non-living things. For example, each or the entirety of age, image, video, name, address, and other personal information you submit through a form is called data.
Data is useless on its own. Humans and machines interpret data to derive meanings. A base is a place used as a center of operations. Therefore, a database is a data operation center.
According to the Oxford Dictionary, a system is "a set of things working together as parts of a mechanism or an interconnecting network; a complex whole".
So now that we have understood the constituent words: database and systems, let us understand database systems.
So database systems refer to the entirety of data storage and data operation techniques and how they work together to store and manage data for an extended period. Examples of database system softwares are PostgreSQL, MYSQL, MICROSOFT ACCESS, SQLite, ORACLE, and dBASE.
To better understand databases, we can use the example of Facebook. Facebook collects a lot of data from its users, which it stores in a database. Anytime users log into Facebook, some database operations make it possible for Facebook to retrieve the data and present it as necessary.
There are many types of database systems. Here is a list of six major types of database systems:
- Relational Databases
- Object-Oriented Databases
- NoSQL Databases
- Hierarchical Databases
- Graph Databases
- Document Databases
Relational databases store data in relation to one another—data in relational databases is related. In a relational database management system (RDBMS), data is stored in a tabular form of related columns and rows. Each column in the table represents an attribute, and each row represents a record. A field in the table represents the value of a piece of data.
Necessary operations, including searching, inserting, updating, and deleting records, are carried out using structured query language (SQL) to query a relational database. Examples of database systems that use RDBMS are MYSQL and PostgreSQL.
Data is represented and managed as objects in an object-oriented database (model). Object database management systems (ODBMSs) are based on the functionality of object-oriented programming (OOP) and database programming functionalities.
An ODBMS establishes similarities between an application environment and its database. It is easy to query data in ODBMSs as the application and its database are in sync—there is no need to use different languages for the application and its database. Therefore, such applications demand less code, and code bases are easier to maintain. An example of an object-oriented database is GemStone.
It goes without saying, NoSQL refers to any database that does not query or use SQL as its basic data access language. Examples of NoSQL databases include object-oriented databases, hierarchical databases, and graph databases—they don’t use SQL as their primary query language.
Hierarchical databases make use of the "parent-child" relationship for storing data. It has a tree-like structure with nodes used for records and branches used for fields. An example of a hierarchical database is the Windows registry used in Windows XP.
A graph database is a NoSQL database that uses graph theory to store, map, and query relationships between and among varieties of data. It mostly uses nodes as entities to represent anything, such as a phone, a customer, or a pen.
It stores data as nodes, establishes their relationships as edges, and properties as extra information added to the nodes. Examples of graph databases are Azure Cosmos DB, Oracle Spatial, MarkLogic, and many more.
A document database (DocumentDB) is a kind of NoSQL database that stores data as documents in a key and value pair format. Each document represents data, its attributes, and its relationship with other data elements.
DocumentDB has become common recently because it stores and searches documents faster than many other databases as a result of its document storage and NoSQL properties. Examples of some widely used DocumentDBs are Hypertable, Hadoop/Hbase, Cassandra, Amazon SimpleDB, Apache Flick, MongoDB, Azure DocumentDB, and many others.
Database systems are the backbone for most softwares/applications. They are used to collect data to solve all kinds of human problems. Such data is stored and managed with database systems.
In short, a database system/database management system (DBMS) plays a vital role in all softwares. Therefore, it is important to make a considered choice when deciding which kind of database system is most suitable for your organization’s software needs.