Introduction to Data Independence in DBMS
Data Independence in the Database Management System (DBMS) is an essential criterion to be kept in check while designing and managing the databases and their respective schema. It can be defined as the ability of the data in one schema not to be affected whenever there is an update or modify operation performed on the other schema in the database system. It is usually applied to the three-tiered Database Architecture systems, where the data from the bottom tier are expected to be not distressed in the events of modifications performed on the other tiers on the top of the system.
How does Data Independence Work in DBMS?
Any Database Management system that can contain multiple databases, in which there can be any number of schema types. These systems will typically include huge amounts of records or data along with the system management related information. This huge data quantity makes it complicated to update or alter the database contents in a frequent manner. As a part of scalability and database expansion, this property of the system necessitates the call for fulfilling the database required to hold the property that allows the existing data and contents to stay unmodified when there are changes made on the top tiers of the DBMS system.
This is mandated on bigger sized systems, because when the data dependence is allowed in the system then the data administration and management process get wearisome and highly intricate process. The Data Independence phenomenon is observed to be on three different levels basically, namely the Physical level, the Logical level, and the View level. The purposes of instilling Data Independence on to the Database Management System are for maintaining the functional behavior of the database system, enhanced security of the system, keeping the boundaries clear between the three levels of the database schema, performing application maintenance without the extra cost being spent, etc.
The Physical level can be defined as the physical storage space allocated for the data to be stored and can be pulled out whenever there is a requirement for the data. This level is considered to be the lowermost layers in the database architecture. Next, the Logical level can be defined as the contents of the database, in the structure of tables, columns, and rows. This also contains the other related properties of the data stored in the tables, such as the facts, dimensions, attributes, relationships, etc. Finally, the View level, which the topmost level in the system and it does not enclose the complete database. Instead, it holds a fraction of the data for the users to view.
Types of Data Independence in DBMS
Data Independence can be classified into two different types, with respect to the levels of the database systems. They are
- Logical Data Independence
- Physical Data Independence
1. Logical Data Independence
- Logical Data Independence is the distinctive property of the database system to be capable of updating the logic behind the logical level of the structure or schema devoid of disturbing the other layers of the schema and functions inside the database management system. In this type of Data Independence, the outside appearances of the table’s contents are not involved by the modifications performed by the view level of the schema in the database system. The modifications that one can possibly apply on the logical layer of the schema can cover the basic operations like the insert, delete and update operations, as well as the complicated table related operations like truncate, Union, Minus, Intersect, etc.
- For Instance, Let us consider an online shopping website that has a dedicated database for handling the goods marked for selling. Whenever there are new items added, there are new records inserted or updated in the tables. This is considered to be a part of the logical update and not the physical update. Hence this is not affecting the other levels of the database schema or the system. A few other places where the Logical Data Independence is put to use in real-time cases are by modifying or adding the attributes to the existing tables, applying functions on specific columns in the table, updating the relationship between the tables and their attributes, etc.
2. Physical Data Independence
- Physical Data Independence can be defined as the quality of the data and contents of the system to be capable of updating or modifying the physical schema structure without affecting the abstract & the rational design of the overall system. This process is a part of Data Abstraction, as it is mindfully done in order to improve the performance of the system. It is also helpful in various other factors to like to rectify intangibility and optimized resource usage.
- This type of Data Independence can be explained as the notional arrangement or the pattern used for organization of data and related attributes in the form of tables in the database, which should not be affected whilst there are modifications in the other levels of the schema are such as the physical and view levels. The storage volume of the database system is typically considered to be the physical level of the schema structure.
- For Instance, the updates performed on the arrangement of records or elements in the system should not affect the logical level of the schema as well as the view level of the schema, and such cases are known as the Physical Data Independence. A few other commonly observed updates or structural modifications with respect to the physical data independence are the addition or expansion of the database’s size, updating the data storage pattern in the tables, adding or removing new views, methods or triggers into the database, consumption of unexpectedly more CPU memory space, installing or connecting new peer nodes, etc.
Data Independence is a feature of the Database Management System (DBMS) that is seen to be an essential factor while designing bigger databases with huge volumes of related data. It aids in improving or keeping up the overall quality of the system, as the modification carried out on one level is not going to affect the other levels of the database schema.
This is a guide to Data Independence in DBMS. Here we also discuss the Introduction and how does data independence works in DBMS along with types. You may also have a look at the following articles to learn more –