Architecture of A Database System
Architecture of A Database System
com
The requirements of a database system as described above has led to the identification of three
distinct levels of abstraction in such a system namely the physical level, the global or conceptual
schema level and the user view level. This three, level architecture was proposed by the
Standards and Planning Requirements Committee of the American National Standards
Committee on Computers and Information Processing (ANSI/SPARC Report, Tsichritis and
Klug, 1978). Although the architecture proposed by this group was rather detailed, the essence
was to divide the database structure in such a way that the distinct layers could be described at
different levels of abstraction, with clearly defined interfaces between them.
The merits of this three-level architecture have long been recognized and most modern DBMSs
support, to some extent, the separation of the physical database, the schema and the user views.
The architecture is also consistent with the principles of software engineering, which advocate a
separation of levels of concern and a modular approach to software development.
The Conceptual Schema Level : The conceptual schema level is the global level, i.e.. the logical
description of the entire database. It is the overall logical view of the data and their
interrelationships as seen by the database modelers, by the systems analysts and programmers
who are concerned with implementation, and by terminal user and application programs which
require access to the entire database. The conceptual schema also contains the logical description
of the usage constraints which are designed to preserve the integrity and privacy of the data
against invalid modification or unauthorized access.
The user view : The user view level (sometimes called the subschema level in network and
hierarchical systems) is concerned with individual user views of j the database. Views are
provided to satisfy the needs of applications which require access to only a subset of the data. As
described earlier, a view may present to the user or application program, an aspect of the data
model which is very different from that in the schema, and which has been tailored specifically
to the application.
Database Software
Database software may be divided into three distinct categories:
Languages (commutations) to create, use and maintain the database.
Utilities to provide support facilities such as report generation, graphical output, and
statistical operations.
Operational routines for run-time management, including routines for back-up and recovery,
and for concurrency control.
In the commercial environment, database, languages have traditionally been divided into several
different categories, namely data description languages, data manipulation languages and query
languages. These may be described as follows.
Query Languages
A query language is a very high level, nonprocedural-language (often English-like ) provided
by most DBMSs to facilitate retrieval or simple updates when communicating with the database
from a terminal. The user is not required to specify the detailed logical procedures, as is the case
with a DML, but only a structured statement of the information required or the action to be
carried out. The query language processor must, then determine the correct access paths required
to resolve a query. Query languages range in power and sophistication from semi-procedural
interactive programming applications (user views) must be identified, not only so that such views
may be incorporated in the overall system design, but also to identify access rights for the
purposes of security and privacy. Thus the database designer must discuss the requirements in
depth with every possible class of user and study the manner in which data is currently
processed. In the existing environment, data may be processed manually or possibly in a
computerized system using files and application programs. In the former case the data processing
needs may not be well defined, and decisions must be made as to what can and should be
automated. Where a file-based computerized system exists, the various application programs
may be rather loosely related. Some may be grossly inefficient, while others may be redundant or
of historical interest only.
The objectives of the database designer at the requirements analysis stage are:
To obtain a clear and concise description of the infrastructure of the enterprise to be modeled.
To derive information about the nature and volume of data to be stored and processed. In
particular, the properties (or attributes) of the data objects must be ascertained, together with
their domains, ordering requirements, sort criteria, units of measurement, etc. The frequency
with which the data objects are accessed or updated and the expected growth in the volume of
the data are also important factors which may influence the implementation phase, as are the
requirements for data protection.
To compile information on the nature and volume of the transactions (functions) occurring in the
enterprise and the relationships between the various transactions. Important factors which must
be determined include the exact purpose of the transaction, the frequency with which it is
performed, the data requirements of the transaction, and the data and information which it
produces. It is also important to ascertain the nature of any interactions which may take place
between the various transactions. In particular, information is required on the data flow between
transactions and the sequence in which they must be performed.