DBMS Architecture: Computer Programs Database Database Administrators
DBMS Architecture: Computer Programs Database Database Administrators
DBMS Architecture
We now discuss a conceptual framework for a DBMS. Several different frameworks
have been suggested over the last several years. For example, a framework may be
developed based on the functions that the various components of a DBMS must
provide to its users. It may also be based on different views of data that are possible
within a DBMS. We consider the latter approach.
The three level database architecture allows a clear separation of the information
meaning (conceptual view) from the external data representation and from the
physical data structure layout. A database system that is able to separate the three
different views of data is likely to be flexible and adaptable. This flexibility and
adaptability is data independence that we have discussed earlier.
The external level is the view that the individual user of the database has. This view is
often a restricted view of the database and the same database may provide a number
of different views for different classes of users. In general, the end users and even the
applications programmers are only interested in a subset of the database. For example,
a department head may only be interested in the departmental finances and student
enrolments but not the library information. The librarian would not be expected to
have any interest in the information about academic staff. The payroll office would
have no interest in student enrolments.
The conceptual view is the information model of the enterprise and contains the view
of the whole enterprise without any concern for the physical implemenation. This
view is normally more stable than the other two views. In a database, it may be
desirable to change the internal view to improve performance while there has been no
change in the conceptual view of the database. The conceptual view is the overall
community view of the database and it includes all the information that is going to be
represented in the database. The conceptual view is defined by the conceptual schema
which includes definitions of each of the various types of data.
The internal view is the view about the actual physical storage of data. It tells us what
data is stored in the database and how. At least the following aspects are considered at
this level:
Efficiency considerations are the most important at this level and the data structures
are chosen to provide an efficient database. The internal view does not deal with the
physical devices directly. Instead it views a physical device as a collection of physical
pages and allocates space in terms of logical pages.
The separation of the conceptual view from the internal view enables us to provide a
logical description of the database without the need to specify physical structures.
This is often called physical data independence. Separating the external views from
the conceptual view enables us to change the conceptual view without affecting the
external views. This separation is sometimes called logical data independence.
Assuming the three level view of the database, a number of mappings are needed to
enable the users working with one of the external views. For example, the payroll
office may have an external view of the database that consists of the following
information only:
The conceptual view of the database may contain academic staff, general staff, casual
staff etc. A mapping will need to be created where all the staff in the different
categories are combined into one category for the payroll office. The conceptual view
would include information about each staff's position, the date employment started,
full-time or part-time, etc etc. This will need to be mapped to the salary level for the
salary office. Also, if there is some change in the conceptual view, the external view
can stay the same if the mapping is changed.