Learn something new every day
More Info... by email
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.
This concept 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 information 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. As a result, the essential data retains its integrity and remains consistent no matter how many databases or database applications access it.
There are two basic levels or types of independence when it comes to data. 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 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.
I am familiar with the concept of independence in relation to a party performing a service such as an audit should be independent. I had never really thought about data independence or data independence dbms. I guess according to what anon70198 said, this is not a new concept. I am surprised it was not covered more in college.
The concept of data independence emerged from research in by D.L. Childs that was later cited by Codd in his 1970 paper about the about the relational model.
"Sets, Data Models and Data Independence" explains this (posted on the Dr. Dobb's web site).
One of our editors will review your suggestion and make changes if warranted. Note that depending on the number of suggestions we receive, this can take anywhere from a few hours to a few days. Thank you for helping to improve wiseGEEK!