Data independence is also termed as data abstraction. The need of the user is the continuous use of the database system without any interruption but the user may not require to know each as every function that a database performs, therefore, the user has to make independent from the different level of views that exists in the database. Now, what are these different views of the database that the user has to make independent of and these are physical schema, conceptual schema, and user view.
The physical schema consists of the data structure and the algorithm that is used to store those structure, as well as the technology that is required in processing and gathering of the data, comes under the physical schema and the user is not required to view the physical schema and neither it will bring any value to the user so this has to be made independent from the user and this is called the physical data independence, where the mechanism of data gathering, processing, storing is completely hidden from the user.
Also, the conceptual schema which is above the physical schema is responsible how the data is interrelated to each other in SQL there are various keys to show the relationship between various tables and these table gives meaning to each table connected making the work better, the same case comes with the conceptual schema that user does not requires to know how the tables are related to each other or how the row and column are related to each other and therefore these details are hidden from the user and this is called data abstraction or data independence, this is also called logical level data independence.
And above these all layers comes the user layer which is what the user interacts with and can make use of, from this level the user can store and access the database and only that much that is required to him and no more that’s the work of data independence to care of whether or not the user is only shown that information that he needs and not more than that.
Logical Level Data Independence in DBMS
The data independence can also be understood as if you bring any changes to the conceptual schema then there are no changes in the user view and this is also applicable to the deeper layer such as the physical layer and the physical layer changes should not affect the changes into the conceptual level.
Let us understand with an example the user adds one column to the table more at the conceptual level and the changes that occurred at the conceptual level are not reflected in the application until and unless they are not approved by the data administration. There are many times when the logical schema has been changed for example if they’re a shopping website then their might may be changed such as the addition of columns in the database at the logical level only but the changes that are brought into the logical level for them we do not have to write a new application they are automatically adjusted to the user view if the user requires has the use of that column such as availability of specific item column may be required by the user but the column such as total profits that has been generated may not be required by the user and this is what is called the data independence the changes that were made on the conceptual level does not bring any changes in the user level and the application remains intact as it has to.
Physical Level Data Independence in DBMS
The changes that are made on the physical schema do not disrupt the functioning of the logical schema and it remains intact or in other words, the logical schema is independent of the physical schema. For example, if the data has been moved from one database to another database or the data structure has made changes from the queue to a stack then these changes should not disrupt the functioning of the logical schema structure and the structure of the logical schema remain intact. This is called the logical level of independence where the change in the physical schema structure does not bring any changes to the logical level schema structure.
The concept of data independence is very important for example you may be using a google search engine for more than a decade now. Within a decade google may have changed their server from one place to another or have used more servers as the user increased so all these changes were never reflected in the team in the tables and the columns that contained that information. The data about the website and the number of the website that google might have stored into the server will not be affected by the changes that were brought into the server such as increasing the servers or using better technology. The same is when there were changes in the indexed websites and it might bring changes to the tables that have contained the website did not reflect into the changes on the google search engine page when they had one more column to the table it will not be reflected as the search engine page where you type the query. These changes are happening thousands of times within a day but the user level remains unaffected by these changes therefore this is all due to the concept importance of the data independence. If there is a technology change this should not affect any other layer in the other schema is what is called data independence.
You can take examples of other companies such as Netflix changing their servers from their dedicated servers to using Amazon web services but the user’s experiences and the user view remained intact and also there were no changes to the record that of those companies all were safe. Data independence is present in every aspect of technology that is used and every development that is created so that changes can occur smoothly and each level can act as an independent level.