Thursday, 17 November 2016

DBMS Notes

A) DATA:
·         It is a collection of information.
·         The facts that can be recorded and which have implicit meaning known as 'data'.
Example:   Customer ----- 1.cname.       2. cno.                     3. ccity.

B) DATABASE:
·         It is a collection of interrelated data.
·         These can be stored in the form of tables.
·         A database can be of any size and varying complexity.
·         A database may be generated and manipulated manually or it may be computerized.
Example:  Customer database consists the fields as cname, cno, and ccity
C) DATABASE-MANAGEMENT SYSTEM (DBMS):
·         A database-management system (DBMS) is a collection of interrelated data and a set of programs to access those data.
·         The collection of data, usually referred to as the database, contains information relevant to an enterprise.
·         The primary goal of a DBMS is to provide a way to store and retrieve database information that is both convenient and efficient.

Q) What are the Database System Applications?
A) Database System Applications are as follows.

  1. Banking: For customer information, accounts, and loans, and banking transactions.
  2. Airlines: For reservations and schedule information. Airlines were among the first to use databases in a geographically distributed manner—terminals situated around the world accessed the central database system through phone lines and other data networks.
  3. Universities: For student information, course registrations, and grades.
  4. Credit card transactions: For purchases on credit cards and generation of monthly statements.
  5. Telecommunication: For keeping records of calls made, generating monthly bills, 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 as stocks and bonds.
  7. Sales: For customer, product, and purchase information.
  8. Manufacturing: For management of supply chain and for tracking production of items in factories, inventories of items in warehouses/stores, and orders for items.
  9. Human resources: For information about employees, salaries, payroll taxes and benefits, and for generation of paychecks.

Q) Explain the Traditional Approach for Data Storage and the Need of DBMS (OR) Explain the difference between File processing systems and database (OR) Problems with Early Information System

ANS: Traditional Data Storage Model
1.       In traditional approach, information is stored in flat files which are maintained by the file system under the operating system’s control.
2.       Application programs go through the file system in order to access these flat files

How data is stored in flat files

·         Data is stored in flat files as records.
·         Records consist of various fields which are delimited by a space, comma, pipe, any special character etc.
·         End of records and end of files will be marked using any predetermined character set or special characters in order to identify them
Example:  Storing employee data in flat files


  Problems with traditional approach for storing data
1.       Data Security: The data stored in the flat file(s) can be easily accessible and hence it is not secure.

Example: Consider an online banking application where we store the account related information of all customers in flat files. A customer will have access only to his account related details. However from a flat file, it is difficult to put such constraints. It is a big security issue.
2.       Data Redundancy: In this storage model, the same information may get duplicated in two or more files. This may lead to to higher storage and access cost. it also may lead to data inconsistency.

For Example, assume the same data is repeated in two or more files. If a change is made to data stored in one file, other files also needs to be change accordingly.

Example: Assume employee details such as firstname, lastname, emailid are stored in employee_details file and employee_salary file. If a change needs to be made to emailid, both employee_details file and emplyee_salary file need to be updated otherwise it will lead to inconsistent data.
However, it is possible to design file systems with minimal redundancy. Also note that Data redundancy is sometimes preferred.

Example: Assume employee details such as firstname, lastname, emailid are stored only in employee_details file and not in employee_salary file. If we need to access an employee salary along with firstname of the employee, we have to retrieve details from two files. This would mean an increased overhead.
3.       Data Isolation: Data Isolation means that all the related data is not available in one file. Usually the data is scattered in various files having different formats. Hence writing new application programs to retrieve the appropriate data is difficult.

4.       Program/Data Dependence: In traditional file approach, application programs are closely dependent on the files in which data is stored. If we make any changes in the physical format of the file(s), like addition of a data field , etc, all application programs needs to be changed accordingly. Consequently, for each of the application programs that a programmer writes or maintains, the programmer must be concerned with data management. There is no centralized execution of the data management functions. Data management is scattered among all the application programs.

Example: Consider the banking system. An employee_salary file exists which has details about the salary of employees. An employee_salary record is described by
employee_id
firstname
lastname
salary_amount
An application program is available to display all the details about the salary of all employees. Assume a new data field, the date_of_joining is added to the employee_salary file. Since the application program depends on the file, it also needs to be altered.
If the physical format of the employee_salary file for example the field delimiter, record delimiter, etc. are changed, it necessitates that the application program which depends on it, also be altered.  
5.       Lack of Flexibility: The traditional systems are able to retrieve information for predetermined requests for data. If we need unanticipated data, huge programming effort is needed to make the information available, provided the information is there in the files. By the time the information is made available, it may no longer be required or useful.

Example : Consider a software application which is able to generate employee salary report. Assume that all the data is stored in flat files. Suppose we now have a requirement to retrieve all the employee details whose salary is greater than Rs.10000. It is not easy to generate such on-demand reports and lot of time is needed for application developers to modify the application to meet such requirements.
6.       Concurrent Access Anomalies: Many traditional systems allow multiple users to access and update the same piece of data simultaneously. However this concurrent updates may result in inconsistent data. To guard against this possibility, the system must maintain some form of supervision. But supervision is difficult because data may be accessed by many different application programs and these application programs may not have been coordinated previously.

Example : Consider a personal information system which has the data of all employees. Now there may be an employee updating his address details in the system and at the same time, an administrator may be taking a report containing the data of all employees. This is called concurrent access. Since the employee's address is being updated at the same time, there is a possibility of the administrator reading an incorrect address.

These difficulties lead to the development of database systems.

No comments:

Post a Comment