A database management system (DBMS) is a software tool for efficiently carrying out database tasks such as insertion, retrieval, deletion, updating, organizing data into tables, views, schemas, and models. Based on how data is stored and handled, database systems are categorized into many different types.
There are mainly four categories of database management systems.
1. Hierarchical Databases
Data is organized in a tree-like hierarchical structure in hierarchical DBMSs, either in a bottom-up or top-down pattern. The hierarchy is linked through parent-child relationships in which a parent can have multiple children, but children can have just one parent.
Hierarchical DBMSs commonly exhibit one-to-one and one-to-many types of relationships.
As they have certain limitations, they are best suited only in very specific use cases.
For example, each employee in a company reports to their respective departments. The department will act as a parent record, and each employee will represent child records. Each of them is linked back to that parent record in a hierarchical form. The IBM Information Management System (IMS) and Windows Registry are popular examples of hierarchical databases.
2. Network Databases
Network databases typically follow the network data model pattern. In this database type, data is represented in the form of nodes. Nodes connect with other neighboring nodes via links. In a network database, a node has the flexibility to share links with multiple nodes. This unique characteristic of sharing multiple links makes this database more efficient. A few popular examples are IDMS (Integrated Database Management System), Univac DMS-1100, Integrated Data Store (IDS), TurboIMAGE, and etc.
3. Relational Databases
The most commonly used database type today is a relational database. In a relational database (RDBMS), data is stored in tabular (rows and columns). Here, columns represent attributes, whereas rows represent a record or a tuple. Each field in a table represents a data value.
One can use Structured Query Language (SQL) to query relational DBMSs with the help of operations like inserting, updating, deleting, and searching records.
Usually, four types of relationships are seen in relational database design:
one to one – In such a relationship 1 table record is related to another record in another table.
one to many – In such a relationship 1 table record is related to multiple records in another table.
many to one – In such a relationship more than 1 table record is related to another table record.
many to many – In such a relationship multiple records are related to more than 1 record in another table.
Some common examples of relational databases include MySQL, Microsoft SQL Server, Oracle, etc.
4. Object-Oriented Databases
This type of database uses an object-based data model to save data. Data is stored in the form of objects. Each object contains two elements:
- A piece of data (e.g., sound, video, text, or graphics).
- Instructions or software commands are called methods to process the data.
This type of database can easily integrate with object-oriented programming languages and utilize programming language capabilities. Object-oriented databases are compatible with many popular programming languages, including Delphi, JavaScript, Python, Java, C++, Perl, Scala, and Visual Basic. NET.
We just discussed the four common database types. But wait! There are other popular databases that use different types of database structures. Examples like PostgreSQL (object-relational database) and NoSQL (non-tabular). Let’s discuss these popular databases in some detail.
PostgreSQL
What is PostgreSQL? PostgreSQL or Postgres is an open-source object-relational database. PostgreSQL was first released on January 29, 1997, and, since then, its constant evolution has turned it into a reference for reliability, robustness, and performance.
An object-relational database is a mix of object-based databases and relational databases to give you the best of both worlds. It borrows object-oriented properties like table inheritance and function overloading which can help developers in handling complex database problems.
PostgreSQL has rich driver support that allows popular technologies like Java, TypeScript, and Kotlin to connect and interact with the database.
NoSQL
NoSQL databases store data as JSON documents instead of tables (which are used in relational databases). NoSQL stands for ‘not only SQL’—it’s SQL and more. Very often, it is mistakenly understood as “no SQL”.
NoSQL offers the capability to save and query data without using SQL queries. That is how it get the name “noSQL”. It offers the flexibility of JSON along with the power of SQL queries. NoSQL is gathering its popularity amongst modern businesses as it offers scalability and flexibility in its design.
There are generally four types of NoSQL databases.
- Document databases
- Key-value databases
- Wide-column databases
- Graph databases
Conclusion
In this write-up, we learned what a DBMS is and found out about some popular DBMSs out there. We also briefly read about the different categories of DBMSs based on their design.
I hope you have a basic understanding of DBMSs. Thank you for being here with us. Join us to learn more about many different interesting topics.