- Data independence is a form of database management that keeps data separated from all programs that make use of it.
- As a cornerstone for the idea of a DBMS or database management system, this independence ensures that the data cannot be redefined or reorganized by any of the programs that make use of it.
- In this manner, the data remains accessible, but it is also stable and cannot be corrupted by the applications.
- Within the environment of a centralized DBMS, database management relies on the process of data independence.
- While data transparency still exists as far as the ability of different applications to access and use the data for completing tasks, no program or application can read and then begin to make changes to the data itself.
- The consistency of the information makes the overall process of maintaining and managing a single database or multiple databases within a single environment much easier.
- One of the functions of data independence is to restrict access to the storage structure of the data by the user applications.
- By effectively hiding the specifics of the structure from the applications, the potential for any one application to alter the nature of the data becomes impossible. As a result, the essential data retains its integrity and remains consistent no matter how many databases or database applications access it.
Types of Data Independence:
There are two types of data independence:
1) Physical Data Independence
2) Logical Data Independence
Physical Data Independence
- This approach has to do with altering the organization or storage procedures related to the data, rather than modifying the data itself.
- Accomplishing this shift in file organization or the indexing strategy used for the data does not require any modification to the external structure of the applications, meaning that users of the applications are not likely to notice any difference at all in the function of their programs.
Logical Data Independence
- Logical data independence makes it possible to change the structure of the data independently of modifying the applications or programs that make use of the data.
- There is no need to rewrite current applications as part of the process of adding to or removing data from then system.