Table of Contents
What is Database Management System?
The Database Management System acts as the interface between the application programs and the data. Database Management System is basically a software system that performs the functions of defining, creating, revising, and controlling the database. Database Management System is a specially devised/designed software to create and maintain a database and enable individual business applications to extract the data they need without having to create separate files or data definitions in their computer programs.
Advantages of a DBMS:
There are many advantages of the database management system. Some of the advantages are listed below-
(1) Controlled Redundancy- In the Database approach, ideally each item is stored at only one place in the database. However, in some cases, redundancy still exists to improve system performance, but such redundancy is controlled and kept to a minimum.
(2) Data Independence- It means that programs are isolated from changes in the way the data are structured and stored. In a database system, the database management system provides the interface between the application programs and the data. Physical data independence means the applications need not worry about how the data are physically structured and stored. Applications should work with a logical data model and declarative query language.
If major changes were to be made to the data, the application programs may need to be rewritten. When changes are made to the data representation, the data maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way.
Data independence is the immunity of application programs to changes in storage structures and access techniques. For example, if we add a new attribute, and change the index structure then in the traditional file processing system, the applications are affected. But in a database management system environment, these changes are reflected in the catalog, and as a result, the applications are not affected. Data independence can be physical data independence or logical data independence.
Physical data independence is the ability to modify physical schema without causing the conceptual schema or application programs to be rewritten.
Logical data independence is the ability to modify the conceptual schema without having to change the external schemas or application programs.
(3) Sharing of Data- In database systems, the data is centrally controlled and can be shared by authorized users. The sharing of data means not only the existing application programs can also share the data in the database but new application programs can be developed to operate on the existing data. Furthermore, the requirements of the new application programs may be satisfied without creating any new files.
(4) Enforcement of Standards- In database systems, data is stored at one central place, and standards can easily be enforced by the database administrator (DBA). This ensures standardized data formats to facilitate data transfers between systems. Applicable standards might include any or all of the following- departmental, installation, organizational, industry, corporate, national, or international.
(5) Improved Data Integrity- Data integrity means that the data contained in the database is both accurate and consistent. The centralized control property allows adequate checks can be incorporated to provide data integrity. One integrity check that should be incorporated into the database is to ensure that if there is a reference to a certain object, that object must exist.
(6) Improved Security- Database security means protecting the data contained in the database from unauthorized users. The DBA ensures that proper access procedures are followed, including proper authentical schemes for access to the database management system and additional checks before permitting access to sensitive data. The level of security could be different for various types of data and operations.
(7) Transaction Processing- The DBMS includes a concurrency control subsystem to ensure that several users trying to update the same data do so in a controlled manner so that the result of the update is correct.
(8) Providing Multiple Views of Data- A view may be a subset of the database. Various users may have different views of the database itself. Users may not need to be aware of how and where the data they refer to is stored.
(9) Providing Backup and Recovery Facilities- If the computer system fails in the middle of a complex update program, the recovery subsystem is responsible for making sure that the database is restored to the stage it was in before the program started executing.
(10) Increased Programmer Productivity- The database system provides many standard functions that the programmer would generally have to write in the file system. The availability of these functions allows the programmers to concentrate on the specific functionality required by the users without worrying about the implementation details. This increases the overall productivity of the programmer and also reduces the development time and cost.
Disadvantages of a DBMS:
In contrast to many advantages of the database management system, there are some disadvantages as well. The disadvantages of a database management systemare as follows-
(1) Cost Issue- Installing and maintaining a database is expensive, particularly in a large organization. In addition, there are costs associated with training people to use it correctly.
(2) Security Issues- Although databases can be structured to restrict access, it’s always possible unauthorized users will get past the safeguards. And when they do, they may have access to all the files. In addition, if a database is destroyed by fire, earthquake, theft, or hardware or software problems, it could be fatal to an organization’s business activities- unless steps have been taken to regularly make backup copies of the files and store them elsewhere at a safe place.
(3) Privacy Issues- Databases may hold information, they should not be used for unintended purposes, perhaps intruding on people’s privacy. Medical data, for instance, may be used inappropriately in evaluating an employee for a job promotion.
(4) Cost of Conversion- The cost of conversion from an old file system to a new database system is very high. In some cases, the cost of conversion is so high that the cost of a database management system and extra hardware becomes insignificant. It also includes the cost of training manpower and hiring specialized manpower to convert and run the system.
WHILE Loop in C Language