Logical Data Independence
Logical Data Independence
Definition
Logical Data Independence is the ability to change the conceptual schema — add entities, add attributes, split or merge tables, add constraints — without needing to change existing external schemas or the application programs built on them.
How It Works — A Concrete Change and What Does/Doesn't Break
Suppose the conceptual schema Student(StudentID, Name, DeptID) is extended in two different ways:
- Adding a new attribute
EmailtoStudent. The Result Portal's external schema only ever used(StudentID, Name, Marks)via a view — since it never referencedEmail, the application code needs zero changes. Logical independence holds. - Splitting
StudentintoStudent(StudentID, Name)andStudentDept(StudentID, DeptID)for normalization. If the Result Portal's view was defined asSELECT StudentID, Name, Marks FROM Student JOIN Enrollment ..., the DBA can update the external/conceptual mapping (the view definition) to re-join the split tables and still produce identical output columns — so, again, the application itself needs no code changes, even though the underlying conceptual structure changed significantly.
What Breaks Logical Independence
If a column an external schema directly depends on is removed or renamed (e.g., Marks renamed to Score) and the mapping is not updated to compensate, the dependent view — and therefore the application — breaks. Logical independence is a goal the mapping layer is responsible for preserving; it is not automatic.
Distinguishing It From Physical Data Independence (2.6)
Logical independence protects against conceptual-level changes; physical independence (2.6) protects against internal/storage-level changes. Logical independence is generally considered harder to fully achieve, because conceptual structural changes (splitting tables, adding constraints, changing relationships) are far more likely to ripple into how existing views and queries are defined than a purely physical change like re-indexing ever would.
Interview Takeaways
- Q: Which is harder to achieve — logical or physical independence, and why? Logical, because conceptual-level structural changes are more likely to affect how existing external views/queries are defined, whereas physical changes are more cleanly isolated by the internal/conceptual mapping.
- Q: Does adding a new, unused column ever break logical independence? No, as long as no external schema references it — only referenced changes (renames, removals, restructuring) risk breaking dependent views.