What do you mean by DBMS? What is its need and what are its goals. Explain?
Explain Data Base Management System?
Sol. Database management system is a collection of interrelated data and set of programs to access those data. Collection of data is called database. Database contains information related to an enterprise. Primary goal of database management system is to provide a way to store and retrieve database information that is convenient and efficient. Management of data involves both defining structure for storage of information and providing mechanism for manipulation of information. Database system also ensures the safety of information stored, despite system crashes of attempts at unauthorized access. If data is shared among many users, then system must avoid possible anomalous results. So database system is used to manage, large bodies of information. A large body of concepts and techniques is used for managing data.
Applications of Data base management system
(1) Banking- In bank database management system is used for storing customer information, account information, and information about bank transactions.
(2) Airlines-Database management system is used for reservations and schedule information.
(3) Universities- In universities and colleges, database management system are used for having student information, course information and about their results.
(4) Credit Card Transactions- Here database management system is used for purchase of credit cards and generation of monthly statements.
(5) Telecommunication- Record of calls made, generating monthly bill, maintaining balances on prepaid calling cards, and storing information about the communication networks.
(6) Finance- For storing information about holdings, sales, and purchases of financial instruments such s stocks and bonds.
(7) Human resources- For information about employees, salaries, payroll taxes and benefits and for generation of pay checks.
(8) Manufacturing- For information of supply chain, and for tracking production of items in factories, inventories of items in factories, inventories of items in warehouses/stores and orders for items.
(9) Sales - For customers, product, and purchase information.
Goals of Database Management System
(1) To remove problem of data redundancy and inconsistency- Different programmers create files and application programs over a long period and these files are likely to have different format and programs are written in different languages. Same information may be duplicated in various files. E.g. address and telephone number of a particular customer may appear in a file that consist of savings- account record and in a file that consist of checking account records, the redundancy leads to higher storage and access cost. It may also lead to data inconsistency. Data inconsistency means various copies of same data may no longer agree. For example, a changed customer address may be reflected in saving account records, but not elsewhere in the system.
(2) Easy access of data- If a bank officer needs to find out names of all customer who live within a particular postal- code area, the officer then ask the data processing department to generate such a list, because the designers of original database system did not anticipate this request, there is no application program on hand to meet it, there is however an application program to generate the list of all customer. Bank officer now has 2 choices; either obtains the list of all customers and extract the needed information manually of ask a system programmer to write the necessary application program. But both alternatives are unsatisfactory. Suppose such a program is written and then several days later same officer needs to trim that list to include only those customer who have an account balances of Rs. 10,000 of more. As expected, a program to generate such a list does not exist; again, the officer has the proceeding two options, neither of which is satisfactory. So without data base management system data cannot be retrieved in a convenient and efficient manner.
(3) To solve data isolation problem- As data are scattered in various files, and files may be in various formats, writing new application programs to retrieve the appropriate data is difficult.
(4) To solve atomicity problem- A computer system may fail. In many applications it is crucial that, if a failure occurs the data be restored to the consistent state that existed prior to the failure. E.g. let us having a program to transfer $ 50 from account A to account B. If a system failure occur during the execution of program, it is possible that the $ 50 was removed from account A bit was not clearly it is essential to data consistency that either both the credit and debit occur or that neither occur. That is fund transfer must be atomic- it must happen in it's entirely of not at all, it is difficult to ensure atomicity in a conventional file - processing system.
(5) to solve problem of concurrent- access anomalies- For the sake of overall performance of the system and faster response, many systems allow multiple users to update the data simultaneously. In such an environment, interaction of concurrent updates may result in inconsistent data. Consider bank account A, containing $ 500. If 2 customers withdraw funds (say $ 50 and $ 100 respectively from account A at about the same time, the result of concurrent executions may leave the account in at incorrect (or inconsistent) state. Suppose the the program executing on behalf of each withdrawal read the old balance, reduce that value by the amount being withdrawal, and write the result back. If the 2 program run concurrently, they may both read the value $ 500, and write back $ 450 and $ 400 respectively. Depending upon on which one writes the value last, the account may contain either $ 450 or $ 400, rather than the correct value of $350. To guard against this possibility, the system must maintain some form of supervision. But supervision is difficult to provide because data may be accessed by many different application programs that have not been coordinated previously.
(6) To solve security problem- Not every user of database system should be able to access all the data. For example in a banking system, payroll personnel beed to see only that part of the database that has information about the various bank employees. They do not need access to information about cusomer accounts. But, since application programs are added to the systems in an ad- hoc manner, enforcing such security constraints is difficult.
(7) To solve integrity problems- The data values stored in database must satisfy certain consistency constraints. For example, the balance of a bank account may never fall below a prescribed amount (say $ 25). Developers enforces these constraints in the system by adding if appropriate code in the various applications programs, however when new constraints added, it is difficult to change the program to enforce them. The problem is compound when constraints have involved several data items from different files.