What is database management system(DBMS)
A Database Management System (DBMS) is the software that manages a database. It acts to define, manipulate, retrieve and secure data in a database. In fact, the DBMS works as an interface between the database and the end-users or application programs. DBMS also ensures that data is consistently well organized and easily accessible.
Layers of DBMS architecture
There are following three layers of DBMS architecture: External Layer, Conceptual Layer, and Physical layer.
External or view Layer: This layer ensures the easy way to exhibit related data to the users. At the same time it hides the unrelated details of the database from the user.
For example, in the DBMS of a bank system subscribes are in external layer. Here a subscriber can find his account information or transaction details but cannot search for any information of others account or internal anything.
Conceptual or logical Layer: The conceptual layer/schema describes the database structure of the whole database. This layer includes entity, attributes, relationship etc. but hides information about the physical storage structures of database.
For example, in the DBMS of a bank system operators of account section are in conceptual Layer. They can access the account information and transaction details of any subscriber.
Physical Layer: The physical layer/schema describes the physical storage structure of the database. It is the internal representation of the whole database. This layer tells us what data is stored in the database and how, what is the design of database etc. This layer includes data dictionary, online data etc.
For example, in the DBMS of a bank system the persons who are in charge of director are included in physical layer.
How does a DBMS works?
A Database Management System(DBMS) is a software that allows a computer to perform the following jobs.
Database related job: Creating database and table, modify and update table structure, delete table and database etc.
Data management job: Insert data and record, delete data and record, modify data and record, data query, creating report, data indexing and sorting, data updating, store and retrieve data etc.
Security job: secure a database or database management software from illegitimate use and malicious threats and attacks.
Types of users in DBMS
Database users are the person who really access to database to manipulate data and take the benefits of it. There are different types of users depending on their need and way of accessing the database. They are as follows:
Native users: The persons who are related with only data entry job from the terminal end of DBMS by using application programs are native users also termed as unsophisticated users. These types of users have no access to the database. They don’t have any knowledge about the database but still use databases and perform the task. They may use the system to transfer some balance from one account to another. For example, a clerical staff of a bank who deals with the accounts of the subscribers.
Online data users: These types of users connect with database using application programs through online. They indirectly desire the benefit from the work of DBMS. These users have no knowledge about the structure and design of database. They only use database and perform their task.
Application programmer: The programmers who write application programs or user interface for native and online users to interact with database in DBMS are known as application programmers. These users write application programs by using programming language like C, COBOL, FORTRAN, Pascal, Java etc.
System Analyst: The person who is responsible for the design, structure and properties of database is called system analyst. All the supplies of the native users are handled by system analyst. Feasibility, economic and technical aspects of DBMS is the main concern of system analyst.
Database administrator: Database administrator is the central database related position around which all other position revolves. He is a top-level user of the database who oversees all the functions of database closely with all the positions. The overall success of database management depends on database administrator (DBA).
Characteristics of DBMS
The characteristics of Database Management System (DBMS) are as follows:
A DBMS typically offers several layers of security of database in addition to the operating system (OS) and network security facilities. Most often, a database holds accounts with passwords requiring the user to log in, or be authenticated, to access the database. DBMS also offer other mechanisms, such as groups, roles, privileges, and profiles, which all offer a farther refinement of security. For example, only an authenticated user who has the role of operator can back up the database. Another example, only an authenticated user who belongs to an aviation group can access the aviation data.
The integrity of data refers to its consistency and correctness. According to data integrity, data must be right, accurate and meaningful. Integrity gives a data its value. A DBMS maintains and enforces data integrity that decreases data duplicity, data redundancy as well as data inconsistency.
A DBMSmust manage concurrency when it offers multiuser access. That is, when more than one person at a time must access the same database, specifically the same piece of data, the DBMS must ensure that this concurrent access is somehow possible. Here, concurrent means two or more users access the same data in the same time period.
A DBMSprovides database transaction facility. A transaction manager manages concurrency and ensures integrity of transactions.
In DBMS all transaction must be atomic in that each individual transaction either completes or doesn’t complete. That means the transaction is the smallest unit of concurrency. A transaction that completes is said to be committed, and one that does not is rolled back. A transaction log is kept by the DBMS for the purpose of rolling back and for rolling forward.
For example, in railway reservation system, if user has completed the process of ticket reservation then his record will be stored and amount of money will be deducted from his account otherwise no amount will be deducted and if deducted it will be given back.
Development of new applications
A DBMS allows facilities to the users or programmers to create customize database applications like accounting systems, airline reservations systems etc. The primary purpose was entering and retrieving information from database. Modern database applications facilitate simultaneous updates, queries from multiple users and more complex issues.
Minimize Data Redundancy
Storing same field values more than once in a table or in a database is known as data redundancy. A DBMS can reduce data redundancy by minimizing isolated files in which the same data are repeated. Centralized control of data can be the best solution data redundancy. Normalization method of database can also remove all these redundancies.
Here data sharing means to share the same data resource with multiple applications or users. Data sharing is a primary characteristic of a DBMS.
Users of database may require bringing data from the database. DBMS maintains flexible search capability which provides users fastest result from numerous queries.
Backup and Recovery
DBMS allows automatic backup and recovery facilities of database. Here backup is a copy of data that can be used in a database failure while recovery is the process of restoring a database to the correct state. For examples, if a system fails in the middle of any process then DBMS stores the values of that state in which database were before query execution.
DBMS follows the ACID concept. ACID (Atomicity, Consistency, Isolation, and Durability) is a set of properties of database transactions. In DBMS, a series of database operations that satisfies the ACID properties is called a transaction. For example, a transfer of funds from one bank account to another, even with multiple changes such as debiting and crediting, is a single transaction.
Communicating with the database
A DBMS is no good if you cannot talk to it. You might ask how one talk to a DBMS. In DBMS, a database can be accessed through a query language. SQL (Structured Query Language) is a predominant query language that works mostly with the predominant type of DBMS. DBAs use query language to build and maintain database and users use query language to access the database.