Data Abstraction
The major purpose of a database system is to provide users with an abstract view of the system. The system hides certain details of how data is stored, created and maintained. Complexity should be hidden from the database users, which is known as Data Abstraction.
Levels of Abstraction :
A common concept in computer science is levels (or less commonly layers) of abstraction, where in each level represents a different model of the same information and processes, but uses a system of expression involving a unique set of objects and compositions that are applicable only to a particular domain. Each relatively abstract, a "higher" level builds on a relatively concrete, "lower" level, which tends to provide an increasingly "granular" representation. For example, gates build on electronic circuits, binary on gates, machine language on binary, programming language on machine language, applications and operating systems on programming languages. Each level is embeded, but not determined, by the level beneath it, making it a language of description that is somewhat self-contained.
Database Users in Database Management System
The Database Users fall into several categories : Application Programmers are computer professionals interacting with the system through DML calls embedded in a program written in a host language (e.g. C, PL/1, Pascal) :
These programs are called Application Programs.
The DML Precompiler converts DML calls (prefaced by a special character like $, #, etc.) to normal procedure calls in a host language.
The host language compiler then generates the object code.
Some special types of programming languages combine Pascal-like control structures with control structures for the manipulation of a database.
These are sometimes called Fourth-Generation Languages.
They often include features which to generate forms and display data. Sophisticated Users interact with the system without writing programs
They form requests by writing queries in a database query language.
These are submitted to a query processor that breaks a DML statement down into instructions for the database manager module.
Specialized Users are sophisticated users writing special database application programs. These may be CADD systems, knowledge-based and expert systems, complex data systems (audio/video), etc
. Naive Users are unsophisticated users who interact with the system by using permanent application programs (e.g. automated teller machine).