A Database Management System (DBMS) sometimes called a database manager or database system is a set of computer programs that controls the creation, organization, maintenance, and retrieval of data from the database stored in a computer. It allows the individuals or entities to easily access and use the data from database. An excellent database system helps the end users to easily access and use the data and also stores the new data in a systematic way. It knows better the actual physical location of the data.
A DBMS is a system software package that ensures the integrity and security of the data. The most typical DBMS is a relational database management system (RDBMS). A newer kind of DBMS is the object-oriented database management system (ODBMS). The DBMS are categorized according to their data types and structure. It accepts the request for the data from an application program and instructs the operating system to transfer the appropriate data to the end user. A standard user and program interface is the Structured Query Language (SQL).
There are many Data Base Management System like MySQL, PostgreSQL, Microsoft Access, SQL Server, FileMaker, Oracle, RDBMS, dBASE, Clipper, FoxPro and many more that work independently and freely but also allow other database systems to be integrated with them. For this DBMS software comes with an Open Database Connectivity (ODBC) driver ensuring the databases to be integrated with it.
A DBMS includes four main parts: modeling language, data structure, database query language, and transaction mechanisms Modeling language.
Modeling Language: A data modeling language to define the schema (the overall structure of the database) of each database hosted in the DBMS, according to the DBMS database model. The schema specifies data, data relationships, data semantics, and consistency constraints on the data. The four most common types of models are the:
The optimal structure depends on the natural organization of the application's data, and on the application's requirements that include transaction rate (speed), reliability, maintainability, scalability, and cost.
Data Structures: Data structures which includes fields, records, files and objects optimized to deal with very large amounts of data stored on a permanent data storage device like hard disks, CDs, DVDs, Tape etc.
Database Query Language: Using the Database Query Language (DQL) users can formulate requests and generate reports. It also controls the security of the database. The DQL and the report writer allows users to interactively interrogate the database, analyze its data and update it according to the users privileges on data. For accessing and using personal records there is a need of password to retrieve the individual records among the bunch of records. For Example: the individual records of each employee in a factory.
Transaction mechanisms modeling language: The transaction mechanism modeling language ensures about data integrity despite concurrent user accesses and faults. It maintains the integrity of the data in the database by not allowing more than one user to update the same record at the same time. The unique index constraints prevent to retrieve the duplicate records like no two customers with the same customer numbers (key fields) can be entered into the database.
The Latest Trend
Among several types of DBMS, Relational Database Management System (RDBMS) and Object-oriented Database Management System (OODBMS) are the most commonly used DBMS software.
The RDBMS is a Database Management System (DBMS) based on the relational model in which data is stored in the form of tables and the relationship among the data is also stored in the form of tables. It was introduced by E. F. Codd, which is the most popular commercial and open source databases now days. The most popular RDBMS is:
OODBMS: Object-Oriented Database Management System (OODBMS) in short Object Database Management System (ODBMS) is a database management system (DBMS) that supports the modeling and creation of data as objects. It includes some kind of support for classes of objects and the inheritance of class properties and methods by subclasses and their objects. An ODBMS must satisfy two conditions: it should be an object-oriented programming language and a DBMS too.
OODBMS extends the object programming language with transparently persistent data, concurrency control, data recovery, associative queries, and other database capabilities.
At present it is on its development stage and used in Java and other Object Oriented programming language.
Earlier it was introduced to replace the RDBMS due to its better performance and scalability but the inclusion of object-oriented features in RDBMS and the origin of Object-relational mappers (ORMs) made it enough powerful to defend its persistence. The higher switching cost also played a vital role to defend the existence of RDBMS. Now it is being used as a complement, not a replacement for relational databases.
Now it is being used in embedded persistence solutions in devices, on clients, in packaged software, in real-time control systems, and to power websites. The open source community has created a new wave of enthusiasm that's now fueling the rapid growth of ODBMS installations.
The most commonly DBMS are: