Subscribe to the wiseGEEK Feed

What is Data Independence?

Data independence is a form of database management that keeps data separated from all programs that make use of the data. As a cornerstone for the idea of a DBMS or database management system, data independence ensures that the data cannot be redefined or reorganized by any of the programs that make use of the data. In this manner, the data remains accessible, but is also stable and cannot be corrupted by the applications using it.

Database management within the environment of a centralized DBMS 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 data makes the overall process of maintaining and managing a single database or multiple databases within a single environment much easier.

The concept of data independence is different from another approach referred to as data dependence. With this approach, the data used to run an application is actually represented in the source code for the program. The ability of the data to be modified by the program, and vice versa, means that the data is not considered constant and may be changed either by initiating the change through modifications to the source code or through using the program in other ways to adapt the core data.

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. Thus, the essential data retains its integrity and remains consistent no matter how many databases or database applications access the core data.

Data independence is normally thought of in terms of two levels or types. 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.

The second type or level of data independence is known as 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.

Written by Malcolm Tatum