What are the advantages and disadvantages of using a database system.
Sol. Advantages of Database System (DBMS) :
(1) Data Redundancy and Inconsistency: Since different programmers create the files and application programs over a long period, the various files are likely to have different formats and the programs may be written in several programming languages. Moreover, the same information may be duplicated in several places. For example the address and telephone number of a particular customer may appear in a file that consists of savings account records and in a file that consists of checking account records. This redundancy leads to higher storage and access cost. In addition it may lead to data inconsistency that is the various copies of the same data may no longer agree. For example a changed customer address may be reflected in savings account records out not elsewhere in the system.
(2) Restricting Unauthorized Access: When multiple users share a database, it is likely that some users will not be authorized to access all information in the database. For example financial data is often considered confidential and hence only authorized persons are allowed to access such data. In addition some users may be permitted only to retrieve data whereas other is allowed both to retrieve and to update. Hence, the type of access operation retrieval of update must also be controlled. Typically users of user groups are given account numbers protected by passwords, which they can use to gain access the database. A DBMS should provide a security and authorization subsystem, which the DBA uses to create accounts and to specify account restrictions. The DBMS should then enforce these restrictions automatically. Notice that we can apply similar controls to the DBMS software, such as the software for creating new accounts. Similarly, parametric users may be allowed to access the database only through the canned transactions developed for their use.
(3) Providing Persistent Storage for Program Objects and Data Structures: - Database can be used to provide persistent storage for program objects and data structures. This is one of the main reasons for the emergence of the object oriented database systems. Programming languages typically have complex data structures, such as record types in PASCAL of class definitions in C + +. The values of program variables are discarded once program terminates, unless the programmer explicitly stores them in permanent files, which often involves converting these complex structures into a format suitable for file storage. When the need arises to read this data once more the programmer must convert from the file format to the program variable structure. Object oriented database systems are compatible with programming languages such as C + + and JAVA, and the DBMS software automatically performs any necessary conversions. Hence complex object in C + + cam be stred [er,amemt;u om an object is said to be persistent since it survives the termination of program execution and can later be directly retrieved by another C + + program.
(4) Permitting Inferencing and Actions Using Rules: - Some database systems provide capabilities for defining deducti8on rules for inferencing new information from the stored database facts. Such systems are called Deductive Database systems. For example there may be complex rules in the miniworld application for determining when a student is on probation. These can be specified declaratively as rules which when compiled and maintained by the DBMS can determine all students on probation. In a traditional DBMS, an explicit procedural program code would have to be written to supports such applications. But if the miniworld rules cahange rules than to record procedural programs. More powerful functionally is provided by active database systems, which provide active rules that can automatically initiate actions.
(5) Providing Multiple User Interfaces: - Because many types of users with varying levels of technical knowledge use a database, a DBMS should provide a variety of user interfaces. These include query languages for casual users; programming language interfaces for application programmers; forms and command codes for parametric users; and menu driven interfaces and natural language interfaces for standalone users. Both forms style interfaces and menu driven are commonly known as Graphical User Interfaces. Many specialized languages and environments exist for specifying GUIs. Capabilities for providing World Wide Web access to a database or web enabling a database are also becoming increasingly common.
(6) Representing Complex Relationships among Data: - A database may include numerous varieties of data that are interrelated in many ways. Consider the example. The record for Brown in the student file is related to four records in the GRADE- REPORT file. Similarly, each section record is related to one course record as well as to a number of GRADE- REPORT records- one for each student who completed that section. A DBMS must have the capability to represent a variety of complex relationships among the data as well as the retrieve and update related data easily and efficiently.
(7) Enforcing Integrity Constraints:- Most database applications have certain integrity constraints that must hold for the data. A DBMS should provide capabilities for defining and enforcing these constraints. The simplest type of integrity constraint involves, specifying a data type for each data item. For example, we may specify that the value of the Class data item within each student record must be an integrt between 1 and 5 and that the value of Name must be a string of no more than 30 alphabetic characters. A more complex type of constraint that occurs frequently involves specifying that a record in one file must be related to records in other files. For example, we can specify that "every section record must be related to a course record." Another type of constraint specifies uniqueness on data item values, such as "every course record must have a unique value for Course Number." These constraints are derived from the meaning or semantics of the data and of the miniworld it represents. It is the database designers' responsibility to identify integrity constraints during database design. Some constraints can be specified to the DBMS and automatically enforced. Other constraints may have to be checked by update programs or at the time of data entry. A data item may be entered erroneously and still satisfied integrity constraints. For example if a student receives a grade of a but a grade of c is entered in the database the DBMS cannot discover this error automatically because c is a valid value for the Grade data type. Such data entry errors can only be discovered manually and corrected later by updating the database. However a grade of z can be rejected automatically by the DBMS, because z is not a valid value for the Grade data type.
(8) Providing Backup and Recovery: - A DBMS must provide facilities for recovering from hardware or software failures. The backup and recovery subsystem of the DBMS is responsible for recovery. For example if the computer system fails in the middle of complex update program the recovery subsystem is responsible for making sure that the database is restored to the state it was in before the program started executing. Alternatively the recovery subsystem could ensure that the program is resumed from the point at which it was interrupted so that its full effect is recorded in the database. In addition to the issues there are other implications of using the database approach that can benefit most organization. (9) Potential for Enforcing Standards: - The database approach permits the DBA to define and enforce standards among database user in a large organization. This facilitated communication and cooperation among various departments' projects and users within the organization. Standards can be defined for names and formats of data elements display formats report structures terminology; and so on. The DBA can enforce standards in a centralized database environment more easily than in an environment where each user group has control of its own files and software.
(10) Reduced Application Development Time: - A prime selling feature of the database approach is that developing a new application such as the retrieval of certain data from the database for printing a new report such as the retrieval of certain data from the database for printing a new report takes very little time. Designing and implementing a new database from scratch may take more time than writing a single specialized file application. However once database is up and running substantially less time is generally required to create new applications using DBMS facilities. Development time using a DBMS is estimated to be one sixth to one fourth of that for a traditional file system.
(11) Flexibility: - It may be necessary to change the structure of a database as requirements change. For example a new user group may emerge that needs information not currently in the database. In response, it may be necessary to add a file to the database or to extend the data elements in an existing file. Modern DBMSs allow certain types of changes to the structure of the database without affecting the stored data and the existing application programs.
(12) Availability of Up to Date Information: - A DBMS makes the database available to all users. As soon as one user uptake is applied to the database all other users can immediately see this update is applied to the database all other users can immediately see this update. This availability of up to date information is essential for many transaction processing applications, such as reservation systems or banking databases and it is made possible by the concurrency control and recovery subsystem of a DBMS.
(13) Economies of Scale: - The DBMS approach permits consolidation of data and applications thus reducing the amount of wasteful overlap between activities of data processing personal in different projects of departments. This enables the whole organization to invest more powerful processors storage devices or communication gear rather than having each department purchases its own equipment. This reduces overall costs of operation and management.
Disadvantages of DBMS: In spite of the advantages of using a DBMS there are a few situations in which such a system may involve unnecessary overhead costs as that would not be incurred in traditional file processing. The overhead costs of using a DBMS are due to the following:
* High initial investment in hardware software and training.
* Generality that a DBMS provides for defining and processing data.
* Overhead for providing security concurrency control recovery and integrity functions.
Additional problems may arise if the database designers and DBA do not properly design the database or if the database systems applications are not implemented properly. Hence it may be more desirable to use regular files under the following circumstances:
* The database and applications are simple well defined and not expected to change.
* There are stringent real time requirement for some programs that may not be met because of DBMS overhead.
* Multiple user access to data is not required.
* Centralized control
* Data independence allows dynamic changes and growth potential
* Data duplication eliminated with controlled redundancy
* Data quality enhanced
* Security enforcement possible
* Problems associated with centralization
* Cost of software hardware and migration
* Complexity of backup and recovery