Objective Objective of this lecture is to make students be able to understand the basic concepts of file system and database. To introduce the problems with traditional file system and advantages of database over file system.
Index What is file System? Characteristics of file system Traditional method of data storage Problems with Traditional approach What is database and DBMS? Advantages of DBMS Difference between file system and database
File System File system was an early attempt to computerize the manual filing system. A file system is a method for storing and organizing computer files and the data to make it easy to find and access. File Systems may use a storage device such as a hard disk or CD-ROM.
Characteristics of File Processing System It is group of files storing data of an organization. Each file is independent from one another. Each file is called flat file. Each file contained and processed information for one specific function like accounting or inventory. Files are designed by using application programs written in programming languages such as COBOL, C, C++, etc….
Flat file A flat file is a file containing records that have no structured interrelationship
Problems: Traditional approach Data Security Data Redundancy Data Isolation Program/ Data Dependence Concurrent Access Anomalies
Data Security The data as maintained in flat files is easily accessible and therefore not secure. Example: the Customer_Transaction file has details about the total available balance of all customers. A customer wants information about his/her account balance. In a file system it is difficult to give the customer access to only his/her data in the file. Thus enforcing security constraints for entire file or for certain data items are difficult.
Data Redundancy Often the same information is duplicated in two or more files. It may lead to inconsistency Assume the same data is repeated in two or more files. If change is made to data in one file, it is required that change be made to the data in the other file as well. If this is not done, it will lead to multiple different values for same data field.
Data Isolation Data isolation means that all the related data is not available in one file. Generally, the data scattered in various files, and the files may be in different formats, therefore writing new application programs to retrieve the appropriate data is difficult.
Program/ Data Dependence Assume in a banking system there is need to find out the names of all customers who live within a particular postal-code area. But there is only a program to generate the list of all customers. The bank officer has now two choices: either obtain the list of all customers and extract the needed information manually or ask a system programmer to write the necessary application program. Both the alternatives are obviously unsatisfactory.
Concurrent Access Anomalies Many systems allow multiple users to update the data simultaneously. In such environment, interaction of concurrent updates may result in inconsistent data. Example: Bank account A containing Rs. 6000/-. If two transactions of withdraw funds( Rs 500/- and Rs 1000/- respectively) from account about same time, result of the concurrent executions may leave the account in an incorrect state. Program on the behalf of each withdrawal read the old balance, reduce amount and write result back. If both two programs are concurrent they both may read the value Rs 6000/-. Depending on which one writes the value last, the account may contain either Rs 5500/- or Rs 5000/-, rather than the correct value of Rs 4500/-
Database Approach In order to remove all the above limitations of the File Based Approach, a new approach was required that must be more effective known as Database approach. A database is a computer based record keeping system whose over all purpose is to record and maintain information. The database is a single, large repository of data, which can be used simultaneously by many departments and users.
The Database Management System (DBMS) DBMS A database management system is the software system that allows users to define, create and maintain a database and provides controlled access to the data. A database management system (DBMS) is basically a collection of programs that enables users to store, modify, and extract information from a database as per the requirements. DBMS is an intermediate layer between programs and the data. Programs access the DBMS, which then accesses the data. The following are main examples of database applications: Banking System College Management System Inventory Control System Hospital Management
Non-Redundant Database In case of centralized database, data can be shared by number of applications and whole college can maintain its data with the following database: Every application can access the information of other’s by joining on the basis of column ( Rollno )
Enforcing Integrity Constraints Integrity of data means that data in database is always accurate. Integrity constraints are enforced on database. Example: Let us consider the case of college database and suppose that college having only Btech, Mtech, MCA, MSc, BCA, BBA and Bcom. But if a user enters the class MS, then incorrect information must not be stored in database and must be prompted that this is an invalid entry. Integrity is to be enforced on class attribute. In file system this constraint must be enforced an all the application separately. In case of DBMS this integrity constraint is applied only once on the class field of the General Office.
How to enforce integrity? Integrity rules: Entity Integrity rule: Primary key value should not be null (Mandatory field) Referential Integrity: The values of foreign key should match the primary key in parent table.
Solution to concurrency Anomaly S (Shared Lock) X (Exclusive Lock)S true falseX false false