As you know, Database management system (DBMS) is software that is used to manage databases. So, this blog article on DBMS will help you to get a clear idea about Database management systems.
What is Database?
The Database is an organized collection of structured data to make it easily accessible, manageable and update. In simple words, you can say, a database in a place where the data is stored.
What is DBMS?
Database is a collection of data and Management System is a set of programs to store and retrieve those data. Based on this we can define Database management system (DBMS) as a collection of inter-related data and set of programs to store & access those data in an easy and effective manner. DBMS software primarily functions as an interface between the end user and the database, simultaneously managing the data, the database engine, and the database schema in order to facilitate the organization and manipulation of data.
Database Management Systems allow users to do following operations;
Define Data — Allows users to create, modify and delete the definitions which define the organization of the database.
Update Data — Provides access to the users to insert, modify and delete data from the database.
Retrieve Data — Allows users to retrieve data from a database based on the requirement.
Administration of users — Registers users and monitors their action, enforces data security, maintains data integrity, monitors performance and deals with concurrency control.
Now, let’s see the architecture of a DBMS.
The architecture of a DBMS can be seen as either single tier, two tier, three tier or n-tier. In 1-tier architecture, the DBMS is the only entity where the user directly sits on the DBMS and uses it. If the architecture of DBMS is 2-tier, then it must have an application through which the DBMS can be accessed. A 3-tier architecture separates its tiers from each other based on the complexity of the users and how they use the data present in the database. It is the most widely used architecture to design a DBMS. An n-tier architecture divides the whole system into related but independent n modules, which can be independently modified, altered, changed, or replaced.
Now that you guys have understood about DBMS architecture, let’s move ahead and understand the components of a DBMS.
DBMS have several components, each performing very significant tasks in the database management system environment.
Following image shows the relationship between those components.
Now, let’s see what are the types of DBMS.
There are 4 main types of DBMS.
Hierarchical: This type of DBMS showcases a style of predecessor-successor type of relationship.
Relational Database(RDBMS): This type has a structure which allows the users to identify and access data in relation to another piece of data in the database. Here, the data is stored in the form of tables.
Network: This type of database management system supports many to many relations where multiple user records can be linked.
Object-oriented: It uses small individual software called objects. Here, each object contains a piece of data and the instructions for the actions to be done with the data.
Data models in DBMS help define how the logical structure of a database is modeled. Data Models are basically the fundamental entities that introduce abstraction in DBMS. This Data model can further be divided into three types.
Conceptual-This type of Data Model defines what the system contains. The Conceptual model is created by Data Architects in general.
Physical-A Physical Data Model helps in describing the database-specific implementation of the Data model. It helps to model Database columns keys, constraints, indexes, triggers, and other features.
Logical-A logical data model help to add further information to the Conceptual model elements. This model defines the structure of the data elements and also set the corresponding relationships between them.
I hope this is clear to you guys.
So then let’s take a look at some of frequently used Database Management Systems.
Oracle Database is a multi-model database management system produced and marketed by Oracle Corporation. It is a database commonly used for running online transaction processing , data warehousing and mixed database workloads. Larry Ellison and his two friends and former co-workers, Bob Miner and Ed Oates, started a consultancy called Software Development Laboratories (SDL) in 1977.
There are many versions of oracle DBMS. They are; Oracle v2,Oracle v3,Oracle v4,Oracle v5,Oracle v6,Oracle 6.2 and so on. The latest version is Oracle Database 19c. Basically it features client-server architecture. Depending on the OS, Oracle enables a multitasking, multi-user behavior and parallel access to data. It supports all the major network protocols and operating systems.
MySQL is a fast, easy-to-use RDBMS being used for many small and big businesses. MySQL is developed, marketed and supported by MySQL AB, which is a Swedish company which is released under an open-source license. It uses a standard form of the well-known SQL data language.
MySQL works on many operating systems and with many languages including PHP, PERL, C, C++, JAVA, etc. The latest version of MySQL is MySQL 8.0 and MySQL 5.1,MySQL 5.5,MySQL 5.6 and MySQL 5.7 are other previous versions of MySQL.
3.Microsoft SQL Server:
MS SQL Server is a relational database management system (RDBMS) developed by Microsoft. This product is built for the basic function of storing retrieving data as required by other applications. It can be run either on the same computer or on another across a network. It is platform dependent. It is both GUI and command based software.v1.0, 7.0, 2000, 2005, 2008, 2008 R2 and 2019 are some versions of MS SQL Server.
PostgreSQL is a powerful, open source object-relational database system that uses and extends the SQL language combined with many features that safely store and scale the most complicated data workloads. The origins of PostgreSQL date back to 1986 as part of the POSTGRES project at the University of California at Berkeley. PostgreSQL runs on all major operating systems, has been ACID-compliant since 2001, and has powerful add-ons such as the popular PostGIS geospatial database extender. It is a free and open source DBMS. The latest version of PostgreSQL is PostgreSQL 12.3.
IBM Db2 is a family of hybrid data management products offering a complete suite of AI-empowered capabilities designed to help you manage both structured and unstructured data on premises as well as in private and public cloud environments. Db2 is built on an intelligent common SQL engine designed for scalability and flexibility. This DBMS have mainly 4 versions. They are DB2 Version 8,DB2 Version 9,DB2 Version 10 and DB2 Version DB2 Version 11.
So, let’s move to the last part of this blog.
That is pros and cons of these frequently used Database Management Systems.
Pros-You’ll find the latest innovations and features coming from their products since Oracle tends to set the bar for other database management tools, Oracle database management tools are also incredibly robust.
Cons-The cost of Oracle can be prohibitive, especially for smaller organizations, The system can require significant resources once installed so hardware upgrades may be required to even implement Oracle.
Pros-It’s available for free, It offers a lot of functionality even for a free database engine, There are a variety of user interfaces that can be implemented.
Cons-You may spend a lot of time and effort to get MySQL to do things that other systems do automatically; like create incremental backups, There is no built-in support for XML or OLAP.
3.Microsoft SQL Server:-
Pros-It is very fast and stable, The engine offers the ability to adjust and track performance levels which can reduce resource use.
Cons-Enterprise pricing may be beyond what many organizations can afford, Many individuals have issues using the SQL Server Integration Services to import files.
Pros-This database management engine is scalable and can handle terabytes of data, There are a variety of predefined functions.
Cons-Documentation can be spotty, Configuration can be confusing.
Pros-Blu Acceleration can make the most of available resources for enormous databases, Multiple jobs can be run at once using the Task Scheduler.
Cons-The cost is outside of the budget of many individuals and smaller organizations, Third party tools or additional software is required to make clusters or multiple secondary nodes work.