Data abstraction in DBMS is hiding details of the database as we progress in the view levels. As the literal meaning of the data abstraction suggests, that is abstracting or hiding data or information. The information is about the database like what the data is stored in the database and how the data is stored in the database all these information are hidden as per the type of user if the user is in charge of the storage of data then he will know where the data is stored in order to relocate or redesign the database he has the most level of control on the database and if the user is a programmer than he will know what data and how can he store more data for his application that he had made for the end consumer but he cannot change or redesign database as our in charge of the database was able to do now the last user is the end consumer the level of data hidden from him is the highest because he does know what is in the database and how it is stored he is only provided an application through which he can visit the data by reading the only mode and can bring no changes or redesigning.
Data abstraction in DBMS from most to least :
- Most data abstracted – end consumer
- Less data abstracted – application programmer
- Least data abstracted – in charge of database
Remember database abstracting is hiding or providing only that amount of information of the database that the user’s utmost needs for acting on the database from various view levels.
These are the three types of users that primarily uses a database for major purposes now these are classified into view levels for each user and each view as we will discuss has its own purposes.
Levels of Abstraction in DBMS
Physical Level of Abstraction in DBMS
In this view level, the user such as the database administrator works on the database by handling the raw data that comes from various sources. And how this raw data is stored is handled by him. For example, when the database administrator is asked how the data is stored he can answer as in form of some low-level complex database structure such as B+ trees, file indexing operation, extendible hashing, etc. So at the physical view level, he is dealing with descriptions of how the databases are or will be stored in the database such as servers, clouds, etc. This level is having a low level of data abstraction because the meaning of data abstraction is hiding of information of the database from the user but here the user who is given the whole responsibility of handling the raw data and storing in a suitable form how can you hide or abstract any data from him he has to go through each and every file and allocate its place in the database, therefore the level of database abstraction is the least.
Logical Level of Abstraction in DBMS
The physical level deals with how the data is stored now at this view level we will be dealing with what the data is stored. Whether the data that is stored is in relationship with other data or not such things are more focused on the logical level view. Once the raw data is collected from sources such as user registration on a website than with the right technology to handle these incoming data in servers or clouds are done at the physical level then it’s time to operate on these data and make it more meaningful. The operation on this data is performed by the application programmer, who is able to design the software for the end consumer. These application programmers are able to arrange the data into the database the data that is already stored form the physical level.
The application programmer uses SQL to connect to the database and then manage the information that is present in the database. For example, this information in the database is present in various tables and each table has many rows and columns, the application programmer now can relate these tables to each other with the help of keys such as player name. One table can have the player scores over a year and the other table can have player salaries over a year and the application programmer decides to calculate the best player on the basis of salaries then he will connect both tables and design an application that will use the data and find out the best player. The preparation of these relationships between these tables is what the data is stored is concerned about.
The logical level view has less information about the database as compared to the physical level view as the programmer only needs information about the existing table and the data stored in that tables so that he can work on the data and he does not need to know that it is using the servers that are present in the US and has distributed network over Singapore the later information is no use to the programmer, therefore the technology and location of data storing is hidden or abstracted at the logical level whereas the content of the data stored is provided in the logical view level.
User Level of Abstraction in DBMS
This view level has the most amount of data abstraction or they have least information about the database. The logical view had access to all the data in the database but did not have access to the physical location of data. The User level view has access to only the necessary part of data from the database as compared to the logical level which has all the access to the database. The data in the database may be about the player’s performance throughout the year it may also contain information such as where the player lives or their blood types when the player information where registered in the database but this information should not be provided to the end-user who is only present to know the scores of the player as first of all if you supply irrelevant information to the user from the database it will hurt the user experience while browsing through the application and also it may be a matter of security to keep some information about player confidential. Therefore this level has the most amount of data abstraction or hidden from the user. The user view level is more about the end consumer of the application that has been designed at the physical level view user. The user view is much more concerned about the look and feel of the application or is the application fulfilling the user requirements or is the user easily able to navigate the application and the application can include some tables showing required information to the user that it has been fetching from the database.