Abstraction means giving on overall view of the system without bothering for intricacies of system within. A database abstraction is an abstraction for the user such that user is able to handle the same without going into the details of the database system. Database abstraction, this way, in an application programming interface (API) that establishes communication between a user-oriented computer application and databases. Examples of such API are MySQL, PostgreSQL, Oracle, SQLite etc. Database vendors supply their own interface compatible with their products. To make it compatible with other database application programmers develop code for other database interfaces that is to be supported. This form layers that reduce burden for users, by providing an API and hide database internal behind this interface. As far as possible, user is kept free from bothering about the internals of the database.
Numerous abstraction layer are created with different interface is different programming languages. Oriented database system (ODBS) is an examples of a database abstraction layer for language. It is a database abstraction layer which is platform-independent. The user is required to install a particular drive- software, enabling ODBC to communicate with a database or set or databases. Thus program can also increase as statements are to be transformed into constructs understood by the target database.
Data in DBMS has three levels of abstraction. These are conceptual, physical and external schemas. A data definition language (DDL) defines the external schemas.
Data abstraction hides the complexity by creating an intermediates structure, called middleware, which is better organized. This creates an application that makes requests for data in well- organized an logical formate and thus user is made free from the burden of knowing its actual physical layout. This is like a person going to purchase few medicine with a list without bothering about how it is kept physically in the store. Similarly a user handling an application may request fir a customers record from the data abstraction layers and it fetches data from various data sources and transforms these is an agreed logical structure and then returns to the calling application.