This article is intended to all those enthusiasts who want answers to the following questions:
1. What is a database management system?
2. What are the different kinds of database management systems available?
3. Why would we want to use a database management system?
We will provide all the details in the sections follow, we will also try to explain in detail all the nitty gritty details of the concept. If you feel that a certain section of information is not required, it is safe for you to skip that specific section and even then you would be able to get the complete set of details.
Before we try to our hands on understanding what a database management system, we will try to understand the basic meaning of a database. A database can be understood as a collection of specific set of details / records. With this understanding of a database, a database management system is a software that has been designed to maintain all these records in various databases.
Database management system is that software that follows the standards and provides ways and means to query these records (from databases) and provides administrative control of databases. Based on how the data is being stored, there are various types of database management systems available in the current time period. Follow the next section to understand what are the various kinds of database management system available?
Basically there are 4 kinds of database management systems (on a broader classification), they are:
1. Hierarchical databases (DBMS):
Hierarchical databases are the fastest of all as they record information about their groups of parent and child relationships, like a tree structure. As per this, there is always a possibility for repetitive information to exist and also makes it very easy to read or update the relationships between records.
2. Network databases:
Network databases are similar to Hierarchical databases and extends its principal a step ahead by allowing children nodes (called as members in Network databases) to have more than one parent (called as occupier in Network databases). A network database looks more like a cobweb or interconnected network of records.
3. Relational databases (RDBMS):
Relational databases hold the relationships between data files as relational. The way to access data in either hierarchical or network databases is to pass the hierarchy but in the relational databases access is provided by unique fields (called Primary key).
Properties of relational databases are as follows:
Values stored in RDBMS are Atomic
Columns are undistinguished
Sequence of rows is insignificant
Column values are always the same, as these values abide to the same data type
4. Object-orient databases:
This data model is based on the Objected oriented design, just as the name suggests. These databases enhance the semantics of C++ or Java and also provides full featured database programming capabilities. The power of the object oriented databases are all derived from the continuous treatment of constant data (as obtained in the databases itself) and also the transient data (as found in the execution of programs).
Until now, we have understood what databases are and in the earlier section we have understood the various kinds of databases by a very broad classification of them. There is relatively a new trend of databases that have come to existence that goes against the principles of traditional Relational Database Management System, named ad NoSQL databases. Let us now take a keener look into these kinds of databases as well.
NoSQL stands for “Not Only SQL”. The very existence of the NoSQL variants of databases comes from the analysis that few individuals, groups, organizations have performed on the limitations of analyzing the unstructured data around the RDBMS. The unstructured data that is available can never be answered just by using RDBMS and hence the advent of the NoSQL has been embarked. Where the RDBMS requires a rigid schema to be followed in accessing or inserting data, NoSQL provides flexible schemas – which in turn means that there is no need for every element to be existing in every element of the database.
After there was the boom in the social networks industry, the importance to these NoSQL databases have been given. Facebook on a daily basis stores millions of bytes of information that is generated by all the users of it, hence the advent of FlockDB within their realm. LinkedIn on the other hand stores insanely same amounts of data that is being generated by professionals, hence the importance to CouchDB or Couchbase database.
By the usage of the NoSQL databases, there is a broad classification of these NoSQL databases too (based on the way these databases work ):
1. Key-Value based NoSQL databases
2. Document based NoSQL databases
3. MongoDB is one such example for this kind of NoSQL databases
4. Wide Column store based NoSQL databases
5. Graph based NoSQL databases
6. FlockDB is one such example for this kind of NoSQL databases
Data and in turn databases form the basic entities to the surge in data analysis and data analytics industries. It is always suggested to at least know the kinds of data available from various kinds of databases, as it provides a very good spectrum of data from various databases. We took a step ahead and also understood the NoSQL databases which is the recent trend and development in the database management realm.
Get Updates on Tech posts, Interview & Certification questions and training schedules