A database is a logically coherent collection of data with some inherent meaning, representing some aspect of real world and which is designed, built and populated with data for a specific purpose, A DBMS is a collection of programs that enables user to create and maintain a database. In other words it is general-purpose software that provides the users with the processes of defining, constructing and manipulating the database for various applications.
Following are the some advantages of a database management systems :
- Redundancy is controlled, Duplicay can be controlled. In DBMS, all the data of an organization is integrated into a single database. The data is recorded at only one place in the database and it is not duplicated.
- Unauthorised access is restricted, A Database can be protected by allowing access to only authorised users and can be restricted to others.
- Providing multiple user interfaces
- Enforcing integrity constraints
- Providing backup and recovery
- Cost of hardware & software, A DBMS software is very costly and it also require a processor with high speed of data processing and memory of large size to run the DBMS software
- Cost of Data Conversion, When a computer file-based system is replaced with a database system, the data stored into data file must be converted to database files. It is difficult and time consuming method to convert data of data files into database. You have to hire DBA (or database designer) and system designer along with application programmers; Alternatively, you have to take the services of some software houses. So a lot of money has to be paid for developing database and related software.
- Cost of Staff Training, Most DBMSs are often complex systems so the training for users to use the DBMS is required. Training is required at all levels, including programming, application development, and database administration. The organization has to pay a lot of amount on the training of staff to run the DBMS.
- Appointing Technical Staff , The trained technical persons such as database administrator and application programmers etc are required to handle the DBMS. You have to pay handsome salaries to these persons. Therefore, the system cost increases.
- Database Failures, In most of the organizations, all data is integrated into a single database. If database is corrupted due to power failure or it is corrupted on the storage media, then our valuable data may be lost or whole system stops.
The are three levels of abstraction:
- Physical level : The lowest level of abstraction describes how data are stored.
- Logical level : The next higher level of abstraction, describes what data are stored in database and what relationship among those data.
- View level : The highest level of abstraction describes only part of entire database.
Extension: It is the number of tuples present in a table at any instance. This is time dependent.
Intension: It is a constant value that gives the name, structure of table and the constraints laid on it.
Data independence means that "the application is independent of the storage structure and access strategy of data". In other words, The ability to modify the schema definition in one level should not affect the schema definition in the next higher level.
Two types of Data Independence:
Physical Data Independence : Modification in physical level should not affect the logical level.
Logical Data Independence : Modification in logical level should affect the view level.
NOTE : Logical Data Independence is more difficult to achieve
A View may be thought of as a virtual table, that is, a table that does not really exist in its own right but is instead derived from one or more underlying base table. In other words, there is no stored file that direct represents the view instead a definition of view is stored in data dictionary.
Growth and restructuring of base tables is not reflected in views. Thus the view can insulate users from the effects of restructuring and growth in the database. Hence accounts for logical data independence.