- DBMS Tutorial
- What is Database Management System (DBMS)?
- Components of DBMS
- Applications of DBMS
- Three Schema DBMS Architecture
- Difference between DBMS and RDBMS?
- Difference between File Oriented System and DBMS
- Types of Data Models
- DBMS Schema and Instances
- Data Independence and Data Abstraction
- Database Users and Administrator
- DBMS Languages and Interfaces
DBMS ER Model
DBMS Relational Data Model
What is Database Management System (DBMS)?
A database management system (DBMS) consists of a collection of related data and refers to a set of programs for defining, creation, maintenance and manipulation of a database.
The goals of DBMS are to provide a way to store and retrieve database information that is both convenient and efficient, as shown in fig:
Functions of DBMS
Functions of DBMS are:
Data Storage Management
The DBMS creates the complex structures required for data storage in the physical database. It provides a structure for the management of permanent storage of the data. The internal schema represents how the information should be saved by the storage management system and the storage manager interfaces with the operating function to make the physical storage.
Data Manipulation Management
A DBMS provides clients with the ability to retrieve, update and delete existing record in the database or to add a new record to the database. It includes a DML processor component to deal with the data manipulation language (DML).
DBMS must be able to accept data definition in source form and convert them to the appropriate object form. In other words, DBMS must contain language processor element for each of the various data definition language (DDL).
DBMS must provide a data dictionary function. The dictionary contains data about the data rather than just raw data. The data dictionary contains information about entities, attributes, mapping and cross-reference information.
Database Communication Interfaces
The end-user requests for database access are communicated to DBMS in the form of communication messages. The DBMS provides special communication routines designed to allow the database to accept end-user applications within a computer network environment. The response to the end-user is transmitted back from DBMS in the form of such communication messages. The DBMS integrates with a communication software component called data communication manager (DCM), which controls such message transmission activities.
Data Security and Integrity
DBMS must monitor user request & reject any attempt to violate the security & integrity rules defined by the DBA.
Data recovery & concurrency
DBMS provides that the database is kept inconsistent state and that the integrity of data is protected. It ensures that the database is updated correctly when multiple users are updating the database concurrently.
A transaction is a sequence of database activities, completed by a single user or application program, which makes or alter the content of the database. Therefore, a DBMS must give the framework to provide either that all updates relating to a given transaction are made or that none of them is made.
Advantages of DBMS
The major advantages of DBMS are:
Database provides minimum duplicacy or redundancy to store data. Its fundamental objective is lesser data store correspondence to the lesser cost paid. File system represents maximum redundancy while database represents minimum redundancy.
Sharing of Data
It defines not only that existing applications can share the information in the database, but also that new applications can be created to work against that similar stored data. In other words, the data requirements of the new functions may be satisfied without having to access any new stored files. With a database, a client can communicate with the past as well as future.
Enforcing Data Integrity Constraints
Integrity means unification of file into one file. Centralized control of the data helps in allowing the authority to define integrity constraints to the information in the database.
Support Concurrent Access
A DBMS support concurrent access to the data to multiple users in such a manner that users can think of the data as being accessed by only one user at a time.
Standards can be Enforced
With central control of the database, the DBA can ensure that all applicable rules are followed in the representation of data such as the format of data items, the convention on data names, documentation standards etc. which results in uniformity of the entire database as well as its usage.
DBMS allows changes to the structure of the database, with emerging need without affecting the stored data and currently existing application programs.
Data Recovery and Backup
Database system has backups so that recovery of data from software and hardware failures can be made such that if a system crashes in mid of transactions database should be restored to the safe state and concurrency is maintained.
Data security refers to the protection of data against accidental or intentional disclosure to unauthorized persons or unauthorized modifications. The database administrator (DBA) ensure that suitable access step is followed, containing proper authentication schemes for creating the DBMS and additional checks before allowing access to sensitive data. A DBA can define (which is enforced by DBMS) user names and passwords to identify people authorized to use the database.
Data Privacy is related to Data Security. Data Privacy characterizes to the right of persons and associations to determine for themselves when, how and to what extent data about them is to be changed to others.
Reduced Application Development Time
DBMS supports many essential functions that are common to many applications accessing data stored in the DBMS.
By providing a common base for an extensive collection of data that is shared by several users, a DBMS facilitates maintenance and data administration tasks. A good DBA can effectively provide the fine-tuning, the data description, periodic backups etc.
Disadvantage of DBMS
The major disadvantage of DBMS is
A multi-user DBMS becomes an extremely complex piece of software due to expected functionality from it. It becomes essential for database creators, developers, database structure and end-clients to understand this functionality to full advantage of it. Failure to understand the framework can generate bad design decisions, which can have serious consequences for an organization.
Requirement of new and specialized manpower
Because of rapid changes in database technology and organization’s business need to hire, train or retrain its manpower on a regular basis to design and implement databases, provide database administration services and manage a staff of new people. Therefore, an organization needs to maintain specialized skilled manpower.
Large size of DBMS
The large complexity and wide usefulness make the DBMS a huge piece of programming. It occupies numerous gigabytes of storage disk space and requires significant amounts of main memory to run proficiently.
Increased Installation and Management cost
The large and complex DBMS software has a high initial cost. It requires trained manpower to install and operate and also has substantial annual maintenance and support costs. Installing such a system also requires upgrades to the hardware, software and data communications systems in the organizations.
Additional Hardware Cost
The cost of DBMS installation varies significantly, depending on the environment and functionality, size of the hardware (for example, microcomputer, minicomputer or main-frame computer) and the recurring annual maintenance cost of hardware and software.
Need for explicit backup and recovery
For a centralized shared database to be accurate and available all times, a comprehensive procedure is required to be developed and used for providing backup copies of data and for restoring a database when damage occurs. A modern DBMS usually automates many more of the backup and recovery tasks than a file-oriented system.
A large number of users can access the database through the internet. It becomes challenging to maintain the integrity of data with an increase in the volume of users of the database. Data integrity becomes vulnerable when multiple users try to update data at the same time.
As data is accessible by remote users, it increases the chances of reduced data quality. The remote users can change, manipulate or damage the data. Adequate controls are needed to secure the data from manipulation.
Enroll Yourself in Live Training: DBMS Training