Database Systems Concepts
Before the advent of Database systemsOne way to keep the information on a computer is to store it in the permanent files. The system has a number of application programs, each of them is defined to manipulate the data files. These application programs have been written on request of the users in the organization. New application will be added to the system as the need arises. The system just described is called the file-based system.
Consider a traditional banking system which using the file-based system in managing the organization’s data in the picture below. As we can see, there are different departments in the Bank, each of them have their own applications which manage and manipulate differents data files. For Banking system, the programs can be the one to debit or credit an account, , find the balance of an account, add a new mortgage loan or generate monthly statements etc.
Keeping organizational information in this approach has a number of disadvantages, including :
* Data Redundancy: Since files and applications are created by different programmer of various departments over long period of time, it might lead to several problems:
o Inconsistency in data format
o The same information may be kept in several different place (files).
o Data inconsistency which means various copies of the same data are conflicting ; waste storage space and duplication of effort
* Data Isolation
o It is difficult for new application to retrieve the appropriate data which might be stored in various files.
* Integrity problems
o Data values must satisfy certain consistency contraints which are specified in the application programs.
o It is difficult to add change the programs to enforce new constraint
* Security problems
o There are constraint regarding accessing privileges
o Application is added to the system in the ad-hoc manner so it is difficult to enforce those constraints
* Concurrent – access anomalies
o Data may be accessed by many applications that have not been coordinated previously so it is not easy to provide a stategy to support multiple users to update data simutaneously
These difficulties have prompted the development of a new approach in managing large amount of organizational information – database approach. In the following section, we shall see the concepts that have been introduced to get over the problems mentioned.
Database ApproachDatabase and database technology play an important role in most of social areas where computer are used, including business, education, medicine etc. To understand the fundamental of database system, we start from introducing the basic concepts in this area.
Fundamental Concepts
Database is a shared collection of related data which will be used to support the activities of particular organization. Database can be viewed as a repository of data that is defined once and then is accessed by various users. A database has the following properties:
* It is a representation of some aspect of the real world; or perhaps, a collection of data elements (facts) representing realworld information.
* Database is logical coherent and internally consistent.
* Database is designed, built, and populated with data for a specific purpose.
Database Management System (DBMS) is a collection of programs that enable users to create, maintain database and control all the access to the database. The primary goal of the DBMS is to provide an environment that is both convenient and efficient for user to retrive and store information.
Application program accesses the data stored in the database by sending requests to the DBMS.
With the database approach, we can have the traditional banking system as shown in the following picture.
Characteristics of Database approachThere are a number of characteristics that distinguish the database approach with the file-based approach. In this section, we describe in detail some of those important characteristics.
1. Self-Describing Nature of a Database System : Database System contains not only the database itself but also the descriptions of data structure and constraints (meta-data). These information is used by the DBMS software or database users if needed. This seperation makes database system totally different from traditional file-based sytem in which data definition is a part of application programs
2. Insulation between Program and Data : In the filed base sytem, the structure of the data files is defined in the application programs so if user want to change the structure of a file, all the programs access to that files might need to be changed. On the other hand, in database approach, data structure is stored in the system catalog not in the programs so such changes might not occurs.
3. Support multiple views of data: A view is a subset of the database which is defined and dedicated for particular users of the system. Multiple users in the system might have different views of the system. Each view might contains only the interested data of an user or a group of user.
4. Sharing of data and Multiuser system: A multiuser database system must allow multiple users access the database at the same time. As the result, the multiuser DBMS must have concurrency control strategies to ensure that several user try to access the same data item at a time do so in the manner so that the data always be correct.
Benefits of Database Approach 1. To control Data Redundancy
* In the Database approach, ideally each data item is stored in only one place in the database
* However, in some case redundancy is still exists to improving system performance, but such redundancy is controlled and kept to minimum
2. Data Sharing
* The integration of the whole data in an organization leads to the ability to produce more information from a given amount of data
3. Enforcing Integrity Constraints
* DBMSs should provide capabilities to define and enforce certain constraints such as data type, data uniqueness.
4. Restricting Unauthorised Access
* Not all users of the system have the same accessing privileges.
* DBMSs should provide a security subsystem to create and control the user accounts.
5. Data Independence
* The system data descriptions are separated from the application programs.
* Changes to the data structure is handled by the DBMS and not embedded in the program.
6. Transaction Processing
* The DBMS must include 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 updates is correct.
7. 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
8. 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.
ليتك تحلو والحياة مريره وليتك ترضى والانام غضاب
وليت الذى بينى وبينك عامر وبينى وبين العالمين خراب
إذا صحّ منك الود فالكل هيّن وكل الذى فوق التراب تراب
اللهم ارحم موتانا وموتى جميع المسلمين
اللهم أنزل على قبورهم الضياء والنور والفسحة والسرور وجازهم بالاحسان إحسان وبالسيئات عفوا وغفرانا