Database Concepts and abstractions


Many definitions of databases exist, out of which we summarize the one stated by Lelutiu [0] : a database is a stored data collection that has two main characteristics : (1) it provides data independence by means of a data scheme and its corresponding data definition language , and (2) it provides access to the stored data ( large volumes of it ) by means of its physical data access level and its corresponding data manipulation language.

We have to make the following distinction : between a database and a DBMS as it is found moreover in the literature, which is the database management system, i.e. a computer program or more programs that cooperate in order to properly manage, query and maintain a database.
Having set this difference, we move on to the levels of abstraction that can be identified in a database. His approach may have been refined, but the structure J. D. Ullman identified in [2] stands even today, after more than 20 years :

 Internal Level - where the physical database exists.
 Conceptual Level - where the logical database resides, composed of :
. Data description model
. Data description characteristics
. Data definition language
 External Level - the last level of abstraction where users have access to views and virtual data.

Even though there are some voices among programmers that contest the utility of very good abstraction layers by arguing against the reality of their benefits , the view is unitary when it comes to identify these levels. For example an updated description from [3] presents the three layers as : Physical level, Logical level and View level; the names may differ a bit but the functionality inside each level is the same.