Data independence is ability to modify a schema definition in one level without affecting a schema definition in the next higher level.
There are two levels of data independence:
- Physical Data Independence
- Logical Data Independence
These are described below:
1. Physical Data Independence:
- Physical Data Independence is the ability to modify the physical schema without requiring any change in application programs.
- Modifications at the internal levels are occasionally necessary to improve performance. possible modifications at internal levels are change in file structures, compression techniques, hashing algorithms, storage devices, etc.
- Physical data independence separates conceptual levels from the internal levels.
- This allows to provide a logical description of the database without the need to specify physical structures.
- Comparatively, it is easy to achieve physical data independence.
2. Logical Data Independence:
- Logical data independence is ability to modify the conceptual schema without requiring any change in application programs.
- Modification at the logical levels are necessary whenever the logical structures of the database is altered.
- Logical data independence separates external level from the conceptual view.
- Comparatively it is difficult to achieve logical data independence.
- Application programs are heavily dependent on logical structures of the data they access.so any change in logical structure also requires programs to change.