The need for three level architecture
The aim of the three level architecture is to divide each user's view of the database from the way the database is physically shown.
- Support of multiple user views: Every user is able to access the similar data, but have a different customized view of the data. Every user should be able to change the way he or she analysis the data and this change should not affect other users.
- Insulation between user programs and data that does not concern them: Users should not directly govern with physical storage details, such as hashing or indexing. The user's interactions with the database have to be independent of storage considerations.