A database contains a large amount of data. Not all of that data is user data, some of it can be metadata etc. So, it is very important that a database has data independence.
Data independence basically means that if data is changed at a level, it does not impact the data view at the higher levels.Hence, the data at the higher levels should be independent of the data modification in the lower levels.
There is two types of data independence. These are −
Logical data is independent from how data is actually stored on the disk. So logical data independence means that all changes done to the database at the virtual or logical level should not change how the data is actually stored on the disk. Also the users view of the data should not be altered even if the data is changed in the logical level.
All the data in the database is actually stored in the form of bits on the disk. So physical data independence means that the changes made to the data on the physical level i.e in the disk storage etc. should not be reflected in the logical level. For example - If the database storage methods are changed or the database is moved, this should not impact the database logical structure.